Solr-前缀查询
当我使用查询Solr-前缀查询,solr,Solr,当我使用查询addr:s* 我得到…(这是虚拟数据) 我只想要那些以s开头的记录,但结果中的第二条记录以b开头。您可能正在对地址字段使用文本分析,将单词拆分为多个标记。 在这种情况下,“香蕉阳光”一词可能会被分成多个标记(香蕉、阳光或)。 因此,在s*上搜索将返回结果。 如果不希望拆分,请使用关键字TokenizerFactory和其他筛选器定义新字段类型。e、 g <fieldType name="text_string" class="solr.TextField" sortMissi
addr:s*
我得到…(这是虚拟数据)
我只想要那些以
s
开头的记录,但结果中的第二条记录以b
开头。您可能正在对地址字段使用文本分析,将单词拆分为多个标记。在这种情况下,“香蕉阳光”一词可能会被分成多个标记(香蕉、阳光或)。
因此,在s*上搜索将返回结果。
如果不希望拆分,请使用关键字TokenizerFactory和其他筛选器定义新字段类型。e、 g
<fieldType name="text_string" class="solr.TextField" sortMissingLast="true" omitNorms="true">
<analyzer>
<tokenizer class="solr.KeywordTokenizerFactory"/>
<filter class="solr.LowerCaseFilterFactory" />
</analyzer>
</fieldType>
谢谢,这很有效。添加StandardFilterFactory对其他搜索条件也有用吗?您可以根据搜索要求进行检查。您还可以维护字段的不同副本。
<fieldType name="text_string" class="solr.TextField" sortMissingLast="true" omitNorms="true">
<analyzer>
<tokenizer class="solr.KeywordTokenizerFactory"/>
<filter class="solr.LowerCaseFilterFactory" />
</analyzer>
</fieldType>