在solr中拆分字段值以与另一个值进行比较

时间:2017-06-14 02:46:02

标签: loops solr dataimporthandler

我是索尔的新人。 我有来自MySQL JDBC dataimport的Solr中的字段。该字段的数据库列的值是“test,test2,test3”。如果我在Solr中选择fieldtype

  1. Fieldtype是字符串,值为[“test,test2,test3”]。
  2. Fieldtype是字符串,值为“test,test2,test3”
  3. 我想访问Solr中的每个值以与“另一个字符串”进行比较。所以“test1”比较“另一个字符串”,“test2”比较“另一个字符串”,依此类推。我怎么能在Solr那样做?也许它的查询或什么?使用循环或某些东西或一些棘手的东西?

1 个答案:

答案 0 :(得分:0)

您可以使用具有可在逗号上拆分的标记生成器的其他字段类型。在您的情况下,您可以将以下内容添加到架构的相关部分:

<types>
<fieldType class="solr.TextField" name="comma_separated">
    <analyzer>
         <tokenizer class="solr.SimplePatternTokenizerFactory" pattern=","/>
    </analyzer>
</fieldType>
</types>

<fields>
<field name="my_comma_separated_field" indexed="true" stored="true" multiValued="true" type="comma_separated" />
</fields>

现在,当您为comma_separated字段编制索引时,您的值将按逗号分隔,并且您可以搜索其中的每一个。

PS。根据需要将其他过滤器添加到fieldType定义中。

您可以找到令牌生成器文档here