Solr Query单个字符

时间:2012-11-29 20:39:49

标签: solr lucene solrj

我有一个fieldType,定义如下。现在,我已经定义了一个字段'Sta​​tusCode'这个字段类型,它包含一个单字符,如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>

2 个答案:

答案 0 :(得分:3)

将StatusCode这样的字段定义为text_exact_fuzzy并使用这些分析器似乎很奇怪。

使用简单的StrField,而不执行任何分析(如果需要,只有小写的过滤器工厂),你应该得到预期的命中。

答案 1 :(得分:0)

首先,我建议你建立一个这样的查询:(好吧,让我们调用你的字段,其中包含你的单个字符TEST这个例子)

Query = TEST:p AND TEST:a

你有什么结果吗?