我用字段索引了一个文件-
版权所有的-
资料来源:*
dest :_text_
现在,当我搜索内容字段,查询-苹果交易,我得到6057个文档;
但当我搜索-交易苹果时,我得到了5878个文档。
但是,当对catch-all字段执行相同的搜索时,对于这两个查询(6057文档),我得到相同的结果。
我不理解这里的错误,因为我希望solr在Content字段上搜索这两个查询时给出相同的结果。
我在用-
关于“内容”字段的两个查询:
苹果贸易
http://localhost:8983/solr/core_name/select?q=Content%3A%20Apple%20trade
http://localhost:8983/solr/core_name/select?q=Content%3A%20trade%20Apple
发布于 2020-01-07 14:39:33
从刚才添加到问题中的内容来看,假设Lucene查询解析器忽略了:之后的空格,查询是Content:trade <default search field>:Apple --在Content字段中搜索的不是第一个和第二个术语。
当你交换他们的位置时,你在寻找Content:Apple <default search field>:trade。
默认的搜索字段是默认配置中的_text_。由于查询不同,所以可以假设字段中有不同的内容(例如,添加copyField指令后不正确地重新编制索引和清除索引)。
如果要使用轻松映射到用户输入的免费文本搜索,请使用edismax查询解析器(defType=edismax),在q=apple trade中提供查询,并在qf=Content中提供字段名。
https://stackoverflow.com/questions/59615220
复制相似问题