Select Git revision
example_run.py
Code owners
Assign users and groups as approvers for specific file changes. Learn more.
context_aware_search_index.py 860 B
from whoosh.qparser import QueryParser, OrGroup
from search_index import BasicSearchIndex
from nltk import word_tokenize
class ContextAwareSearchIndex(BasicSearchIndex):
"""Return fitting slides, favouring slides with the query contained in the title"""
def result_list(self, query, context):
term = query + "" # Make new object
query = " ".join([token + "^1" for token in word_tokenize(term)])
context_tokens = word_tokenize(context)
if len(context_tokens):
individual_context_token_weight = str(round(1 / len(context_tokens), 3))
query += " " + " ".join([token + "^" + individual_context_token_weight for token in context_tokens])
query_parser = QueryParser("content", self.ix.schema, group=OrGroup.factory(0.9))
return self.ix.searcher().search(query_parser.parse(query))