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



我用字段索引了一个文件 -

  1. 内容(类型 :text_general、不可逆 :假、索引 :真、存储 :真(
  2. 类别(类型 :text_general、不可逆的 :false、索引的 :true、存储的 :true(
  3. 标题(类型 :text_general、不可逆的 :假、索引的 :真、存储的:真(

有一个包罗万象的复制场-

来源: *,
目标 :_文本_

现在当我搜索内容字段时,对于查询 - 苹果贸易,我得到 6057 个文档;

但是当我搜索 - 交易苹果时,我得到了 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中提供字段名称。

相关内容

  • 没有找到相关文章

最新更新