带 * 的 Solr 结果为空,不带 * 我有结果
Solr results with * are empty, without * I have results
我的这个文本字段的值为 "object-a1"
当我搜索:object-a 时,我得到了对象。
当我搜索:object-a* 时,我得到一个空结果。
我的字段索引如下:
<fieldType name="text_general" class="solr.TextField" positionIncrementGap="100">
<analyzer type="index">
<tokenizer class="solr.KeywordTokenizerFactory"/>
<filter class="solr.WordDelimiterFilterFactory"
splitOnNumerics="0"
splitOnCaseChange="0"
preserveOriginal="1"/>
<filter class="solr.LowerCaseFilterFactory"/>
</analyzer>
<analyzer type="query">
<tokenizer class="solr.KeywordTokenizerFactory"/>
<filter class="solr.WordDelimiterFilterFactory"
splitOnNumerics="0"
splitOnCaseChange="0"
preserveOriginal="1"/>
<filter class="solr.LowerCaseFilterFactory"/>
</analyzer>
</fieldType>
有什么想法吗?
谢谢!
试试这个 属性 如下所示 LINK。
catenateAll="1" causes all subword parts to be catenated:
https://wiki.apache.org/solr/AnalyzersTokenizersTokenFilters
当您使用通配符 (*) 时,您遇到了一个鲜为人知的 Solr 问题 multiterm. Specifically, WordDelimiterFilterFactory is not MultiTerm-aware (no (multi) flag marking it so on the Solr Start listing for the component)
通配符效率不高,您可能需要考虑在链的末尾使用 EdgeNGram filter。
我的这个文本字段的值为 "object-a1" 当我搜索:object-a 时,我得到了对象。 当我搜索:object-a* 时,我得到一个空结果。
我的字段索引如下:
<fieldType name="text_general" class="solr.TextField" positionIncrementGap="100">
<analyzer type="index">
<tokenizer class="solr.KeywordTokenizerFactory"/>
<filter class="solr.WordDelimiterFilterFactory"
splitOnNumerics="0"
splitOnCaseChange="0"
preserveOriginal="1"/>
<filter class="solr.LowerCaseFilterFactory"/>
</analyzer>
<analyzer type="query">
<tokenizer class="solr.KeywordTokenizerFactory"/>
<filter class="solr.WordDelimiterFilterFactory"
splitOnNumerics="0"
splitOnCaseChange="0"
preserveOriginal="1"/>
<filter class="solr.LowerCaseFilterFactory"/>
</analyzer>
</fieldType>
有什么想法吗?
谢谢!
试试这个 属性 如下所示 LINK。
catenateAll="1" causes all subword parts to be catenated:
https://wiki.apache.org/solr/AnalyzersTokenizersTokenFilters
当您使用通配符 (*) 时,您遇到了一个鲜为人知的 Solr 问题 multiterm. Specifically, WordDelimiterFilterFactory is not MultiTerm-aware (no (multi) flag marking it so on the Solr Start listing for the component)
通配符效率不高,您可能需要考虑在链的末尾使用 EdgeNGram filter。