solr - 尽管两个查询看起来具有相同的逻辑,但 Solr 查询返回不同的结果
问题描述
我正在运行两个查询,并期待相同的结果,但事实并非如此,有人知道为什么吗?
第一次查询
_query_:"{!complexphrase inOrder=true}accounts:\"functional currency\"" AND (-_query_:"{!complexphrase inOrder=false}accounts:\"functional currency GBP\"~11" AND -_query_:"{!complexphrase inOrder=false}accounts:\"functional currency pound*\"~11" AND -_query_:"{!complexphrase inOrder=false}accounts:\"functional currency sterling\"~11" AND *:*)
第二次查询
_query_:"{!complexphrase inOrder=true}accounts:\"functional currency\"" AND (-accounts:"functional currency GBP"~11 AND -_query_:"{!complexphrase inOrder=false}accounts:\"functional currency pound*\"~11" AND -accounts:"functional currency sterling"~11 AND *:*)
两个查询的区别是
第一个查询类似于:P AND (Q AND B AND R AND *:*)
第二个查询类似于:P AND (A AND B AND C AND *:*)
P : _query_:"{!complexphrase inOrder=true}accounts:\"functional currency\""
Q : -_query_:"{!complexphrase inOrder=false}accounts:\"functional currency GBP\"~11"
B : -_query_:"{!complexphrase inOrder=false}accounts:\"functional currency pound*\"~11"
R : -_query_:"{!complexphrase inOrder=false}accounts:\"functional currency sterling\"~11"
A : -accounts:"functional currency GBP"~11
C : -accounts:"functional currency sterling"~11
我想相信查询 Q 与 A 相同,而 R 与 C 相同。
因此,两个查询提取的结果应该相同。
解决方案
推荐阅读
- azure-devops - Azure DevOps 构建管道不可靠按计划触发
- spring-boot - Spring boot 2.0.5.RELEASE - sleuth 和 mockito
- java - 如何并排合并从一个图像文件中的边界框获得的多个缓冲图像?
- html - 如何防止列包含在 HTML 中?
- asp.net-core - 为什么发布包含 .pdb 文件?
- ios - 为什么在侧面加载应用程序时出现钥匙串错误 34018?
- php - BadMethodCallException 调用未定义的方法 App\Models\Menu::menu()
- php - 如何在数组中搜索?
- svg - 在 SVG 路径中居中文本
- java - 使用 DirectoryChooser 将选定的文件夹保存到我的数据库中