from basicauth import logged_in_or_basicauth, factory_decorator
from catalogue.models import Book, Tag
from basicauth import logged_in_or_basicauth, factory_decorator
from catalogue.models import Book, Tag
JVM.attachCurrentThread()
query = request.GET.get('q', '')
JVM.attachCurrentThread()
query = request.GET.get('q', '')
inline_criteria = re.findall(self.INLINE_QUERY_RE, query)
if inline_criteria:
def get_criteria(criteria, name, position):
e = filter(lambda el: el[0][0:len(name)] == name, criteria)
inline_criteria = re.findall(self.INLINE_QUERY_RE, query)
if inline_criteria:
def get_criteria(criteria, name, position):
e = filter(lambda el: el[0][0:len(name)] == name, criteria)
author = get_criteria(inline_criteria, 'author', 1)
title = get_criteria(inline_criteria, 'title', 2)
translator = None
author = get_criteria(inline_criteria, 'author', 1)
title = get_criteria(inline_criteria, 'title', 2)
translator = None
- print "narrow to author %s" % author
- hint.tags(srch.search_tags(author, filt=srch.term_filter(Term('tag_category', 'author'))))
+ log.info( "narrow to author %s" % author)
+ hint.tags(srch.search_tags(srch.make_phrase(srch.get_tokens(author, field='authors'), field='authors'),
+ filt=srch.term_filter(Term('tag_category', 'author'))))
filters.append(QueryWrapperFilter(
srch.make_phrase(srch.get_tokens(translator, field='translators'),
field='translators')))
filters.append(QueryWrapperFilter(
srch.make_phrase(srch.get_tokens(translator, field='translators'),
field='translators')))
q = srch.make_phrase(srch.get_tokens(title, field='title'), field='title')
hint.books(*srch.search_books(q, filt=flt))
toks = srch.get_tokens(query)
q = srch.make_phrase(srch.get_tokens(title, field='title'), field='title')
hint.books(*srch.search_books(q, filt=flt))
toks = srch.get_tokens(query)
results = SearchResult.aggregate(srch.search_perfect_book(toks, fuzzy=fuzzy, hint=hint),
srch.search_perfect_parts(toks, fuzzy=fuzzy, hint=hint),
srch.search_everywhere(toks, fuzzy=fuzzy, hint=hint))
results.sort(reverse=True)
results = SearchResult.aggregate(srch.search_perfect_book(toks, fuzzy=fuzzy, hint=hint),
srch.search_perfect_parts(toks, fuzzy=fuzzy, hint=hint),
srch.search_everywhere(toks, fuzzy=fuzzy, hint=hint))
results.sort(reverse=True)
else:
# Scenario 2: since we no longer have to figure out what the query term means to the user,
# we can just use filters and not the Hint class.
else:
# Scenario 2: since we no longer have to figure out what the query term means to the user,
# we can just use filters and not the Hint class.