Solr搜索FIND_IN_SET就像MySQL一样

时间:2015-05-19 10:37:55

标签: solr solr4

在solr中索引了一些数据,例如:

Fieldname="29655,2542,21542", 
Fieldname="2542"  

成功编入索引。
但我需要2542提供的数据。

在上面的示例中,应显示两个结果,但我只获得第二个值,而不是两个。

请帮我解决此问题。 感谢。

1 个答案:

答案 0 :(得分:1)

这取决于该领域的分析链。您可以使用solr.PatternTokenizerFactory,将内容拆分为单独的令牌。

<fieldType name="commadelimited" class="solr.TextField">
  <analyzer>
    <tokenizer class="solr.PatternTokenizerFactory" pattern="," />
  </analyzer>
</fieldType>

然后在定义字段时引用此字段类型:

<field name="fieldname" type="commadelimited" indexed="true" stored="true" />