我正在尝试使用whoosh在appengine上添加搜索功能到我的blogapp但我不明白一些东西。
blogentries的索引为title
,content
和status
字段。
我希望在公共页面上有不同类型的结果,然后在管理页面上,但不需要有多个索引。
在首页上,我希望访问者只能在title
和content
字段以及我想要搜索的管理员中搜索可见条目< em> draft 条目。
我可以使用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)
答案 0 :(得分:0)
我知道这不是一个严格的答案,但谷歌添加了类似于飞快移动的全文搜索API。也许你应该尝试一下。
https://developers.google.com/appengine/docs/python/search/overview