from django.utils.translation import ugettext as _
from catalogue.utils import get_random_hash
-from catalogue.models import Book, Tag, Fragment, TAG_CATEGORIES
+from catalogue.models import Book, Tag, Fragment
from catalogue.fields import dumps
from catalogue.views import JSONResponse
-from catalogue import forms
-from search import MultiSearch, JVM, SearchResult
+from search import Search, JVM, SearchResult
from lucene import StringReader
from suggest.forms import PublishingSuggestForm
if len(prefix) < 2:
return JSONResponse([])
JVM.attachCurrentThread()
- s = MultiSearch()
+ s = Search()
hint = s.hint()
try:
# jezeli tagi dot tylko ksiazki, to wazne zeby te nowe byly w tej samej ksiazce
# jesli zas dotycza themes, to wazne, zeby byly w tym samym fragmencie.
-
tags = s.hint_tags(prefix)
books = s.hint_books(prefix)
for b in books])
-def foo(s, q, tag_list=None):
- hint = s.hint()
- try:
- tag_list = Tag.get_tag_list(tag_list)
- hint.tags(tag_list)
- except:
- tag_list = None
-
- q = StringReader(q)
- return (q, hint)
-
-
def main(request):
results = {}
JVM.attachCurrentThread() # where to put this?
- srch = MultiSearch()
+ srch = Search()
results = None
query = None
fuzzy = 0.7
results = SearchResult.aggregate(srch.search_perfect_book(toks, fuzzy=fuzzy, hint=hint),
+ srch.search_book(toks, fuzzy=fuzzy, hint=hint),
srch.search_perfect_parts(toks, fuzzy=fuzzy, hint=hint),
srch.search_everywhere(toks, fuzzy=fuzzy, hint=hint))
+
+ for r in results:
+ r.process_hits()
+
results.sort(reverse=True)
for r in results:
- print r.hits
+ print "-----"
+ for h in r.hits:
+ print "- %s" % h
if len(results) == 1:
if len(results[0].hits) == 0:
elif len(results) == 0:
form = PublishingSuggestForm(initial={"books": query + ", "})
return render_to_response('catalogue/search_no_hits.html',
- {'tags': tag_list, 'prefix': query, "pubsuggest_form": form,
- 'form': forms.SearchForm()},
+ {'tags': tag_list, 'prefix': query,
+ "form": form},
context_instance=RequestContext(request))
return render_to_response('catalogue/search_multiple_hits.html',
{'tags': tag_list, 'prefix': query,
- 'results': results, 'from': forms.SearchForm()},
+ 'results': results},
context_instance=RequestContext(request))
-
- # return render_to_response('newsearch/search.html', {'results': results,
- # 'did_you_mean': (query is not None) and
- # did_you_mean(query, srch.get_tokens(query, field='SIMPLE')),
- # 'fuzzy': fuzzy},
- # context_instance=RequestContext(request))