Xapian - 除非向每个单词添加“”,否则搜索查询不会检索任何匹配项

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Xapian - 除非向每个单词添加“”,否则搜索查询不会检索任何匹配项相关的知识,希望对你有一定的参考价值。

使用C ++,我设法遵循此处的Xapian教程。

https://getting-started-with-xapian.readthedocs.io/en/latest/practical_example/index.html#

索引器程序按照我的预期工作,但搜索程序 - https://getting-started-with-xapian.readthedocs.io/en/latest/practical_example/searching/building.html - 仅适用于警告。

例如,当我运行相当于:

python2 code/python/search1.py db Dent watch

找不到匹配项,除非我改为编写以下内容:

python2 code/python/search1.py db '"Dent" "watch"'

哪个效果和我期望的一样好。问题是不太清楚为什么它有效(虽然我知道'''符号是某种搜索查询修饰符),以及我应该如何准备查询进行处理。

例如,Xapian::QueryParser类构造函数是否可以为我添加“”符号?或者我应该在尝试检索匹配之前预处理输入?

答案

为了记录,使用以下queryParser.parse_query(input, queryParser.FLAG_PHRASE)似乎解决了我的问题。

以上是关于Xapian - 除非向每个单词添加“”,否则搜索查询不会检索任何匹配项的主要内容,如果未能解决你的问题,请参考以下文章

除非我添加溢出,否则 CSS 背景颜色不会显示:隐藏?为啥?

除非与mouselistener一起使用,否则JLabel不会显示

除非刷新页面,否则React loadable无法在每个新构建上加载组件

leetcode-211. 添加与搜索单词

除非删除 SEND 权限,否则不会收到 GCM 消息

二叉搜索树根节点保持为空