whoosh MultifieldParser 字段搜索或查询解析器连接
Posted
技术标签:
【中文标题】whoosh MultifieldParser 字段搜索或查询解析器连接【英文标题】:whoosh MultifieldParser field search or query parser concatenation 【发布时间】:2011-08-17 06:38:01 【问题描述】:我正在尝试使用whoosh 将搜索功能添加到我在 appengine 上的博客应用,但我不明白一些内容。
博客条目使用title
、content
和status
字段进行索引。
我想在公共页面和管理页面上获得不同类型的结果,但不需要多个索引。
在首页上,我希望访问者只能在 title
和 content
字段中搜索 可见 条目,并且在管理员中我也希望在 draft 个条目。
我可以使用QueryParser
连接搜索以便搜索多个字段吗?
如何使用MultifieldParser
过滤status:visible?
编辑
还没有测试,但我在 whoosh 邮件列表上得到了答案:
# 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】:我知道这不是一个严格的答案,但谷歌添加了一个类似于 whoosh 的全文搜索 api。也许你应该尝试一下。
https://developers.google.com/appengine/docs/python/search/overview
【讨论】:
感谢答案...我在一年前问过这个问题 :) 从那时起发生了很多事情。从那以后我尝试了不同的方法。现在我有一个带有弹性搜索的外部服务器。 抱歉!!!它首先出现在堆栈溢出中,我从未注意到日期! :)以上是关于whoosh MultifieldParser 字段搜索或查询解析器连接的主要内容,如果未能解决你的问题,请参考以下文章
Django全文检索实现:基于HayStack + Whoosh引擎 + Jieba中文分词
Django之使用haystack+whoosh实现搜索功能