我正在使用JSON请求和edismax适配器进行SOLR搜索。 我想搜索多值字段,因为它会单独存储,因此会处理多值字段中的值。
这些是我的配置中的一部分:
<field name="title" ... />
<field name="tags" stored="false" type="tag_type" multiValued="true" indexed="true"/>
<fieldType name="tag_type" class="solr.TextField" omitNorms="false" positionIncrementGap="100" autoGeneratePhraseQueries="true">
<analyzer type="index">
<tokenizer class="solr.StandardTokenizerFactory"/>
<filter class="solr.StandardFilterFactory"/>
<filter class="solr.LowerCaseFilterFactory"/>
</analyzer>
<analyzer type="query">
<tokenizer class="solr.StandardTokenizerFactory"/>
<filter class="solr.StandardFilterFactory"/>
<filter class="solr.LowerCaseFilterFactory"/>
</analyzer>
</fieldType>
例如,如果我有这些数据:
[{
id: 1,
title: "Sport - News",
tags: ["sport football germany", "news 2018", "abcde"]
},
{
id: 2,
title: "Education News",
tags: ["education", "school", "sport", "abcde", "football", "germany"]
}]
我想实现在搜索“德国运动”时仅返回ID为1的文档的行为。
您有什么建议吗?