在Solr中,我希望通过拆分将字符串字段索引为列表。
以下是data_config.xml
文件中的索引查询。
<document name="Example">
<entity dataSource="example_table" name="Example"
query="select id, text from example_table"
pk="id"
transformer="RegexTransformer"
>
<field column="id" name="id" />
<field column="text" name="text" />
</entity>
字段text
是逗号分隔的字符串。示例:"A, B, C"
以下是schema.xml
文件
<field name="text" type="string" indexed="true" stored="true" required="false" multiValued="true" />
当我查询Solr时,输出为:
"text":["A, B, C"]
有人可以解释一下我如何得到如下结果?
"text":["A","B","C"]
答案 0 :(得分:0)
要在DataImportHandler定义中执行此操作(因为您已经添加了RegexTransformer):
<field column="text" name="text" splitBy=", " />
或者使用带有Regular Expression Pattern Tokenizer
的TextField在字段定义中执行此操作<analyzer>
<tokenizer class="solr.PatternTokenizerFactory" pattern=","/>
<filter class="solr.TrimFilterFactory"/>
</analyzer>