我正在实施用于搜索产品的 solr,但在某些情况下它不起作用。例如:
产品代码=030101 01
在我使用的 schema.xml
<fieldtype name="string" class="solr.StrField" sortMissingLast="true" omitNorms="true"/>
<field name="itemcode" type="string" indexed="true" stored="true" required="true"/>
如果我改变了字段类型,即
<fieldType name="text_ws" class="solr.TextField" positionIncrementGap="100">
<analyzer type="index">
<tokenizer class="solr.WhitespaceTokenizerFactory"/>
<filter class="solr.ReversedWildcardFilterFactory" withOriginal="true"
maxPosAsterisk="2" maxPosQuestion="1" minTrailing="2" maxFractionAsterisk="0"/>
<filter class="solr.LowerCaseFilterFactory"/>
</analyzer>
<analyzer type="query">
<tokenizer class="solr.WhitespaceTokenizerFactory"/>
<filter class="solr.LowerCaseFilterFactory"/>
</analyzer>
</fieldType>
<field name="itemcode" type="text_ws" indexed="true" stored="true" required="true"/>
然后它的搜索 productcode=030101 01 但它也在搜索
030101 02
030101 03
030101 04
现在精确搜索不起作用。因为我有一些具有小写和大写字符的产品代码,所以它也会在搜索中产生问题。
在此先感谢您的时间。阿舒