在非索引字段上搜索 Solr 查询
Solr query searching on non-indexed fields
Solr 版本 6.1.0
创建了一个模式,其中包含一些字段 indexed=true
,我特别希望 solr 主查询 q
在其中搜索。
并且还添加了更多字段,我只想 select,因此将它们标记为 stored=true
和 indexed=false
。
现在的问题是,主查询 q=India
正在搜索非索引字段,例如我在图片中指定的国家/地区。
查看下面的结果
仅当我指定非索引字段的完整值时才selecting 非索引字段。
查看 q=Indi
的结果
如何限制 solr 在非索引字段上进行搜索?
根据上面的屏幕截图,您正在将发送到字段 country
的内容复制到字段 _text_
中。当您没有为 Solr 指定要搜索的特定字段时(即您没有使用带有 qf
的 dismax 处理程序之一,或者没有在您的术语前加上字段名称 field:value
),它会返回到默认搜索字段。默认设置为 _text_
。此字段已编入索引,并且由于您正在将国家/地区字段中的内容复制到 _text_
字段中,因此 country
中的值将会命中。
如果您不希望发生这种情况,请不要将内容从 country
复制到 _text_
,或将您要搜索的实际字段提供给 Solr。
Solr 版本 6.1.0
创建了一个模式,其中包含一些字段 indexed=true
,我特别希望 solr 主查询 q
在其中搜索。
并且还添加了更多字段,我只想 select,因此将它们标记为 stored=true
和 indexed=false
。
现在的问题是,主查询 q=India
正在搜索非索引字段,例如我在图片中指定的国家/地区。
查看下面的结果
仅当我指定非索引字段的完整值时才selecting 非索引字段。
查看 q=Indi
的结果
如何限制 solr 在非索引字段上进行搜索?
根据上面的屏幕截图,您正在将发送到字段 country
的内容复制到字段 _text_
中。当您没有为 Solr 指定要搜索的特定字段时(即您没有使用带有 qf
的 dismax 处理程序之一,或者没有在您的术语前加上字段名称 field:value
),它会返回到默认搜索字段。默认设置为 _text_
。此字段已编入索引,并且由于您正在将国家/地区字段中的内容复制到 _text_
字段中,因此 country
中的值将会命中。
如果您不希望发生这种情况,请不要将内容从 country
复制到 _text_
,或将您要搜索的实际字段提供给 Solr。