equal
deleted
inserted
replaced
1 from django.conf import settings |
1 from django.conf import settings |
|
2 from ldt.ldt_utils import ANALYZER, STORE |
2 import base64 |
3 import base64 |
3 import django.core.urlresolvers |
4 import django.core.urlresolvers |
|
5 import lucene |
4 import lxml.etree |
6 import lxml.etree |
5 import urllib |
7 import urllib |
6 import uuid |
8 import uuid |
7 |
9 |
8 __BOOLEAN_DICT = { |
10 __BOOLEAN_DICT = { |
34 nlist.append(tag) |
36 nlist.append(tag) |
35 taglist = dict().fromkeys(nlist).keys() |
37 taglist = dict().fromkeys(nlist).keys() |
36 |
38 |
37 return taglist |
39 return taglist |
38 |
40 |
|
41 |
|
42 class LdtSearch(object): |
|
43 |
|
44 def query(self, field, query): |
|
45 indexSearcher = lucene.IndexSearcher(STORE) |
|
46 queryParser = lucene.QueryParser(lucene.Version.LUCENE_30, field, lucene.FrenchAnalyzer(lucene.Version.LUCENE_30)) |
|
47 queryParser.setDefaultOperator(lucene.QueryParser.Operator.AND) |
|
48 queryObj = queryParser.parse(query) |
|
49 hits = indexSearcher.search(queryObj, settings.LDT_MAX_SEARCH_NUMBER) |
|
50 |
|
51 res = [] |
|
52 for hit in hits.scoreDocs: |
|
53 doc = indexSearcher.doc(hit.doc) |
|
54 res.append({"external_id":doc.get("external_id"),"title":doc.get("title")}) |
|
55 indexSearcher.close() |
|
56 return res |
|
57 |
|
58 def queryAll(self, query): |
|
59 return self.query("all", query) |
|
60 |
|
61 |