我想将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没有影响,我按原样得到了值,但我希望获得值列表。
答案 0 :(得分:0)
您需要添加RegexTransformer。 试试这个:
<entity name="car_type" transformer="ClobTransformer,RegexTransformer" query="select car_data from cars">