c++ - 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)
似乎可以解决我遇到的问题。
推荐阅读
- django-channels - Django Channels 组发送(不包括数据发送者)
- google-cloud-platform - 导入错误:云作曲家中的 Python 数据流作业
- python - Scipy Fisher_exact 测试需要很长时间
- java - RecyclerView 中的图像不刷新
- c - 将证书写入 DER
- jquery - jQuery AJAX 错误:跨域请求被阻止
- azure-devops - 如何在 Visual Studio Team Services 中向利益相关者隐藏字段
- php - 社交名媛无国籍身份验证
- pycharm - Pycharm 中的调试问题
- spring-boot - Spring Boot 微服务通过 Https 从服务器获取配置