Я пытаюсь использовать whoosh , чтобы добавить функциональность поиска в мой blogapp на appengine, но некоторые вещи я не понимаю.
Blogentries индексируются с помощью title
, *Поля 1006 * и status
.
Я хотел бы иметь результаты другого типа на общедоступной странице, чем на странице администратора, но без необходимости иметь несколько индексов.
На главной странице я хочу, чтобы посетители могли искать в видимых записях только в полях title
и content
, а в админе я хочу искать также в черновики записей.
Могу ли я объединить результаты поиска, используя QueryParser
, чтобы я мог выполнять поиск по нескольким полям?
Как я могу отфильтровать статус : видимый с MultifieldParser
?
РЕДАКТИРОВАТЬ
еще не тестировал, но я получил ответ в рассылке рассылки:
# Create a parser that will search in title and content
qp = qparser.MultifieldParser(["title", "content"], ix.schema)
# Parse the user query
q = qp.parse(user_query_string)
# If request is not admin, filter on status:visible
filterq = query.Term("status", u"visible") if not is_admin else None
# Get search results
results = searcher.search(q, filter=filterq)