whoosh MultifieldParser字段搜索或查询解析器连接

时间:2011-05-02 21:06:19

标签: python google-app-engine filter whoosh

我正在尝试使用whoosh在appengine上添加搜索功能到我的blogapp但我不明白一些东西。

blogentries的索引为titlecontentstatus字段。

我希望在公共页面上有不同类型的结果,然后在管理页面上,但不需要有多个索引。

在首页上,我希望访问者只能在titlecontent字段以及我想要搜索的管理员中搜索可见条目< 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)

1 个答案:

答案 0 :(得分:0)

我知道这不是一个严格的答案,但谷歌添加了类似于飞快移动的全文搜索API。也许你应该尝试一下。

https://developers.google.com/appengine/docs/python/search/overview