Indexing 带*的Solr结果为空,不带*的Solr结果为空
我有一个值为“object-a1”的文本字段 当我搜索:object-a时,我得到了这个对象。 当我搜索:object-a*时,我得到一个空结果 我的字段的索引如下所示:Indexing 带*的Solr结果为空,不带*的Solr结果为空,indexing,solr,prefix,Indexing,Solr,Prefix,我有一个值为“object-a1”的文本字段 当我搜索:object-a时,我得到了这个对象。 当我搜索:object-a*时,我得到一个空结果 我的字段的索引如下所示: <fieldType name="text_general" class="solr.TextField" positionIncrementGap="100"> <analyzer type="index"> <tokenizer class="
<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>
有什么想法吗
谢谢 按照下面的链接尝试此属性
catenateAll="1" causes all subword parts to be catenated:
当您使用通配符(*)时,您遇到了一个名为Solr的鲜为人知的问题。具体来说,WordDelimiterFilterFactory不支持多项(无(多)标记,以此类推)
通配符效率不高,您可能想考虑在链的末尾使用,
谢谢!很高兴知道这一点,但我没有找到一个能像wordDelimiter那样工作的多术语工厂。没有一个。这就是为什么我说尝试在单词分隔符之后使用EdgeGram,而不是使用通配符。