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

问题描述 投票:0回答:1

使用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类构造函数是否可以为我添加“”符号?或者我应该在尝试检索匹配之前预处理输入?

c++ full-text-search command-line-interface information-retrieval xapian
1个回答
0
投票

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

© www.soinside.com 2019 - 2024. All rights reserved.