Solr版本6.1.0。 创建了一个模式,其中一些字段设置为indexed=true,我希望Solr主查询q只搜索这些字段。 还添加了更多字段,我只想选择它们,因此将它们标记为stored=true和indexed=false。 问题在于,主查询q=India正在搜索非索引字段(如图像中指定的国家)。 请参见下面的结果 仅当我指定非索引字段的完整值时,它才会选择非索引字段。 请参见q=Indi的结果 如何限制solr不搜索非索引字段?
根据上面的截图,您正在将发送到字段country的内容复制到字段_text_中。当您没有为Solr指定要搜索的特定字段(即,您没有使用其中一个具有qf的dismax处理程序或没有在术语前缀中加上字段名field:value时),它会回退到默认搜索字段。这是默认设置为_text_。此字段已索引,由于您正在从国家字段复制内容到_text_字段中,因此来自country的值将产生命中。如果您不希望发生这种情况,请不要将country中的内容复制到_text_中,或者提供Solr实际想要搜索的字段。
qf
一起使用。这使您能够单独权衡不同的字段,给一个字段比另一个字段更多的权重-qf=field1 field2^2
将field2的重要性提高了两倍。或者您可以像在当前模式中的_text_
一样,将所有内容复制到一个共同的字段中,然后搜索该字段。或者您可以使用q=field:value
在特定字段中寻找命中结果。 - MatsLindh