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

Posted

技术标签:

【中文标题】whoosh MultifieldParser 字段搜索或查询解析器连接【英文标题】:whoosh MultifieldParser field search or query parser concatenation 【发布时间】:2011-08-17 06:38:01 【问题描述】:

我正在尝试使用whoosh 将搜索功能添加到我在 appengine 上的博客应用,但我不明白一些内容。

博客条目使用titlecontentstatus 字段进行索引。

我想在公共页面和管理页面上获得不同类型的结果,但不需要多个索引。

在首页上,我希望访问者只能在 titlecontent 字段中搜索 可见 条目,并且在管理员中我也希望在 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中文分词

python 搜索引擎Whoosh中文文档和代码

python 开源全文检索工具 Whoosh

Django之使用haystack+whoosh实现搜索功能

全文检索框架Haystack,与 Whoosh搜索引擎的搭配以及相关配置

DJANGO-天天生鲜项目从0到1-009-搜索功能实现(django-haystack+whoosh+jieba)