繁体   English   中英

当查询词混乱时,Solr 搜索结果会发生变化

[英]Solr search results changes when query terms are jumbled up

我已经索引了一个包含字段的文件 -

  1. 内容(类型:text_general,不可逆:false,索引:true,存储:true)
  2. 类别(类型:text_general,不可逆:false,索引:true,存储:true)
  3. 标题(类型:text_general,不可逆:false,索引:true,存储:true)

带有一个包罗万象的复制字段-

来源: *,
目标 :_text_

现在,当我搜索Content字段时,对于 query - Apple trade ,我得到 6057 个文档;

但是当我搜索-交易 Apple 时,我得到了 5878 个文档。

但是,当在catch-all字段上执行相同的搜索时,我对两个查询(6057 个文档)得到相同的结果。

我不明白这里的错误,因为我希望 solr 在内容字段上搜索时为两个查询提供相同的结果。

我在用-

  • LuceneQParser
  • 经典相似

关于“内容”字段的两个查询:

  1. 苹果贸易

http://localhost:8983/solr/core_name/select?q=Content%3A%20Apple%20trade

  1. 交易苹果

http://localhost:8983/solr/core_name/select?q=Content%3A%20trade%20Apple

从刚添加到你的问题是什么,并假设Lucene的查询分析器忽略你的后面的空格: ,查询Content:trade <default search field>:Apple -你不是在寻找第一和第二项Content场地。

当您交换他们的位置时,您正在搜索Content:Apple <default search field>:trade

默认搜索字段是默认配置中的_text_ 由于查询不同,您可以假设字段中有不同的内容(例如,在添加copyField指令后未正确重新索引并清除索引)。

如果您想使用可轻松映射到用户输入的自由文本搜索,请改用 edismax 查询解析器 ( defType=edismax ),在q=apple trade提供查询,并在qf=Content提供字段名称。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM