--- 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():
--- 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
--- 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)