--- a/web/ldt/text/utils.py Thu Dec 16 14:55:25 2010 +0100
+++ b/web/ldt/text/utils.py Thu Dec 16 15:00:30 2010 +0100
@@ -1,6 +1,8 @@
from django.conf import settings
+from ldt.ldt_utils import ANALYZER, STORE
import base64
import django.core.urlresolvers
+import lucene
import lxml.etree
import urllib
import uuid
@@ -36,3 +38,24 @@
return taglist
+
+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)
+ queryObj = queryParser.parse(query)
+ hits = indexSearcher.search(queryObj, settings.LDT_MAX_SEARCH_NUMBER)
+
+ res = []
+ for hit in hits.scoreDocs:
+ doc = indexSearcher.doc(hit.doc)
+ res.append({"external_id":doc.get("external_id"),"title":doc.get("title")})
+ indexSearcher.close()
+ return res
+
+ def queryAll(self, query):
+ return self.query("all", query)
+
+