我有一个问题,我试图搜索一个字段,就像
modelnumbers:"ModeL SX4"
我没有得到数据一样。我试图使大小写不敏感的字段如下所示:
<arr name="modelnumbers">
<str>Model sX4</str>
</arr>
尝试了所有可能的解决方案,例如在我的 schema.xml 中添加以下内容:
<fieldType name="text" class="solr.TextField" positionIncrementGap="100" autoGeneratePhraseQueries="true" >
<analyzer type="index">
<tokenizer class="solr.WhitespaceTokenizerFactory"/>
<filter class="solr.SynonymFilterFactory" synonyms="synonyms.txt" ignoreCase="true" expand="true"/>
<filter class="solr.WordDelimiterFilterFactory" generateWordParts="1" generateNumberParts="1" catenateWords="1" catenateNumbers="1" catenateAll="0" splitOnCaseChange="1"/>
<filter class="solr.LowerCaseFilterFactory" ignoreCase="true"/>
<filter class="solr.PorterStemFilterFactory"/>
<filter class="solr.StopFilterFactory" ignoreCase="true"/>
</analyzer>
<analyzer type="query">
<tokenizer class="solr.WhitespaceTokenizerFactory"/>
<filter class="solr.SynonymFilterFactory" synonyms="synonyms.txt" ignoreCase="true" expand="true"/>
<filter class="solr.WordDelimiterFilterFactory" generateWordParts="1" generateNumberParts="1" catenateWords="0" catenateNumbers="0" catenateAll="0" splitOnCaseChange="1"/>
<filter class="solr.LowerCaseFilterFactory" ignoreCase="true"/>
<filter class="solr.StopFilterFactory" ignoreCase="true"/>
<filter class="solr.PorterStemFilterFactory"/>
</analyzer>
</fieldType>
并将其与以下字段一起使用:
<field name="modelnumbers" type="text" indexed="true" stored="true" multiValued="true" />
多次重新发布我的数据。不工作。如果我搜索“model sX4”,它可以工作,但任何其他修改,如“ModelL SX4”,都失败了。结果没有一致性。如果我尝试搜索“24aAB3”,另一个字段看起来像:“24AAB3”。这也行不通。
请帮忙。