在非索引字段上搜索 Solr 查询

标签 solr solrcloud

Solr 版本 6.1.0

创建了一个模式,其中一些字段为 indexed=true,我特别希望 solr 主查询 q 进行搜索。

并且还添加了更多字段,我只是想选择这些字段,因此将它们标记为 stored=trueindexed=false

enter image description here

现在的问题是,主查询 q=India 正在搜索非索引字段,例如我在图片中指定的国家/地区。

查看下面的结果 enter image description here

只有当我指定非索引字段的完整值时,它才选择非索引字段。

查看 q=Indi 的结果 enter image description here

如何限制 solr 在非索引字段上进行搜索?

最佳答案

根据上面的屏幕截图,您正在将发送到字段 country 的内容复制到字段 _text_ 中。当您没有为 Solr 指定要搜索的特定字段时(即您没有使用带有 qf 的 dismax 处理程序之一,或者没有在您的术语前加上字段名称 field:value),它会返回到默认搜索字段。默认设置为 _text_。该字段已编入索引,并且由于您正在将国家/地区字段中的内容复制到 _text_ 字段中,因此 country 中的值将会命中。

如果您不希望这种情况发生,请不要将country 中的内容复制到_text_ 中,或者将您要搜索的实际字段提供给Solr。

关于在非索引字段上搜索 Solr 查询,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46681089/

相关文章:

java - Solr:将文本字段复制到另一个文本字段并转换为关键字

具有多个有效负载的 Solr 建议

java - Solrcloud性能问题

solr - JNDI 中的 No/solr/home 虽然它是在 Catalina/localhost/solr.xml 中设置的

Solr 词缀,以及带或不带空格的单词

solr - 突出显示 Solr 字段

apache-zookeeper - solr cloud中zookeeper的角色

mysql - 在 solr import 中关闭 ResultSet 后不允许操作

mysql - lucene 搜索查询在 solr4.6 中不起作用

Elasticsearch 中的搜索结果顺序每次都不同