Solr splitBy没有任何影响

时间:2015-06-23 07:40:56

标签: solr

我想将DB字段索引为多值字段。

数据-config.xml中:

<entity name="car_type" transformer="ClobTransformer" query="select car_data from cars">
<field column="CAR_DATA"  splitBy="\$" clob="true"/>

schema.xml中:

<field name="CAR_DATA" type="text_general" indexed="true" stored="true" multiValued="true"/>
 <fieldType name="text_general" class="solr.TextField" positionIncrementGap="100">
  <analyzer type="index">
            <tokenizer class="solr.PatternTokenizerFactory" pattern="[\.|\s|\-|\~]"/>
    <!--<filter class="solr.StopFilterFactory" ignoreCase="true" words="stopwords.txt" /> -->
    <!-- in this example, we will only use synonyms at query time
    <filter class="solr.SynonymFilterFactory" synonyms="index_synonyms.txt" ignoreCase="true" expand="false"/>
    -->
    <filter class="solr.LowerCaseFilterFactory"/>

  </analyzer>
  <analyzer type="query">
            <tokenizer class="solr.PatternTokenizerFactory" pattern="[\.|\s|\-]"/>
    <!--<filter class="solr.StopFilterFactory" ignoreCase="true" words="stopwords.txt" />
    <filter class="solr.SynonymFilterFactory" synonyms="synonyms.txt" ignoreCase="true" expand="true"/> -->
    <filter class="solr.LowerCaseFilterFactory"/>
  </analyzer>
</fieldType>

spiltBy没有影响,我按原样得到了值,但我希望获得值列表。

1 个答案:

答案 0 :(得分:0)

您需要添加RegexTransformer。 试试这个:

<entity name="car_type" transformer="ClobTransformer,RegexTransformer" query="select car_data from cars">