我有一个fieldType,定义如下。现在,我已经定义了一个字段'StatusCode'这个字段类型,它包含一个单字符,如A或P.我使用这个fieldType索引数据,当我运行像StatusCode:A的查询时,它不会返回任何结果。有人可以解释为什么查询不能用于单字符字段吗?
<fieldType name="text_exact_fuzzy" class="solr.TextField" omitNorms="false">
<analyzer type="index">
<tokenizer class="solr.StandardTokenizerFactory"/>
<filter class="solr.StandardFilterFactory"/>
<filter class="solr.LowerCaseFilterFactory"/>
</analyzer>
<analyzer type="query">
<tokenizer class="solr.StandardTokenizerFactory"/>
<filter class="solr.StandardFilterFactory"/>
<filter class="solr.LowerCaseFilterFactory"/>
</analyzer>
</fieldType>
答案 0 :(得分:3)
将StatusCode这样的字段定义为text_exact_fuzzy并使用这些分析器似乎很奇怪。
使用简单的StrField,而不执行任何分析(如果需要,只有小写的过滤器工厂),你应该得到预期的命中。
答案 1 :(得分:0)
首先,我建议你建立一个这样的查询:(好吧,让我们调用你的字段,其中包含你的单个字符TEST这个例子)
Query = TEST:p AND TEST:a
你有什么结果吗?