带空格或不带区分大小写和精确匹配的Solr搜索查询

带空格或不带区分大小写和精确匹配的Solr搜索查询,solr,Solr,我正在实现搜索产品的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"/&

我正在实现搜索产品的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"/>
现在精确搜索不起作用了。因为我有一些产品代码,其中包含小写和大写字符,所以它也会在搜索中产生问题

提前感谢您抽出时间。
ashu

如果只需要小写和精确搜索,是否可以在索引和查询fieldType=text时删除“WhitespaceTokenizerFactory”和“ReversedWildcardFilterFactory”

另请看“solr.KeywordTokenizerFactory”

<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"/>
030101 02
030101 03
030101 04