correct indexation problem V00.09
authorymh <ymh.work@gmail.com>
Fri, 06 May 2011 01:01:51 +0200
changeset 95 8e57d39f660d
parent 94 a31de928e347
child 96 b3caa3506a03
correct indexation problem
src/ldt/ldt/__init__.py
src/ldt/ldt/indexation/__init__.py
src/ldt/ldt/ldt_utils/utils.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():
--- 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)