# HG changeset patch # User ymh # Date 1304636511 -7200 # Node ID 8e57d39f660d364febc4c432a55696ea57ddc733 # Parent a31de928e347f6c43704e0a4dffca4cb8e203be7 correct indexation problem diff -r a31de928e347 -r 8e57d39f660d src/ldt/ldt/__init__.py --- a/src/ldt/ldt/__init__.py Fri May 06 00:46:00 2011 +0200 +++ b/src/ldt/ldt/__init__.py Fri May 06 01:01:51 2011 +0200 @@ -1,4 +1,4 @@ -VERSION = (0, 8, 0, "final", 0) +VERSION = (0, 9, 0, "final", 0) def get_version(): diff -r a31de928e347 -r 8e57d39f660d src/ldt/ldt/indexation/__init__.py --- a/src/ldt/ldt/indexation/__init__.py Fri May 06 00:46:00 2011 +0200 +++ b/src/ldt/ldt/indexation/__init__.py Fri May 06 01:01:51 2011 +0200 @@ -14,3 +14,11 @@ lucene.getVMEnv().attachCurrentThread() return lucene.IndexWriter(STORE, ANALYZER, True, lucene.IndexWriter.MaxFieldLength.UNLIMITED) +def get_searcher(): + lucene.getVMEnv().attachCurrentThread() + return lucene.IndexSearcher(STORE) + +def get_query_parser(): + queryParser = lucene.QueryParser(lucene.Version.LUCENE_30, field, lucene.FrenchAnalyzer(lucene.Version.LUCENE_30)) + queryParser.setDefaultOperator(lucene.QueryParser.Operator.AND) + return queryParser diff -r a31de928e347 -r 8e57d39f660d src/ldt/ldt/ldt_utils/utils.py --- a/src/ldt/ldt/ldt_utils/utils.py Fri May 06 00:46:00 2011 +0200 +++ b/src/ldt/ldt/ldt_utils/utils.py Fri May 06 01:01:51 2011 +0200 @@ -1,8 +1,7 @@ from django.conf import settings -from ldt.indexation import STORE +from ldt.indexation import get_searcher, get_query_parser import datetime import django.core.urlresolvers -import lucene import lxml.etree import urllib import uuid @@ -38,9 +37,8 @@ class LdtSearch(object): def query(self, field, query): - indexSearcher = lucene.IndexSearcher(STORE) - queryParser = lucene.QueryParser(lucene.Version.LUCENE_30, field, lucene.FrenchAnalyzer(lucene.Version.LUCENE_30)) - queryParser.setDefaultOperator(lucene.QueryParser.Operator.AND) + indexSearcher = get_searcher() + queryParser = get_query_parser() queryObj = queryParser.parse(query) hits = indexSearcher.search(queryObj, settings.LDT_MAX_SEARCH_NUMBER)