xml - Solr 索引在分隔符上拆分字段

标签 xml solr

我正在尝试使用一些数据设置 Solr 索引,但是我想将我的字段之一作为管道分隔并在 Solr 端拆分,例如

<doc>
 <add>
  <field name="cat">a|b|c<field>
 </add>
</doc>

对于声明为

的多值字段
<field name="cat" type="str_split_on_pipe" indexed="true" stored="true" multiValued="true" omitNorms="true" />

管道类型的拆分是

<fieldType name="str_split_on_pipe" class="solr.TextField" positionIncrementGap="100" >
  <analyzer type="index">
      <tokenizer class="solr.PatternTokenizerFactory" pattern="\|\s*" />
      <filter class="solr.LowerCaseFilterFactory"/>
      <!--<filter class="solr.WordDelimiterFilterFactory" generateWordParts="1" generateNumberParts="1" catenateWords="0" catenateNumbers="0" catenateAll="0" splitOnCaseChange="0"/>-->
      <!-- this filter can remove any duplicate tokens that appear at the same position - sometimes
     possible with WordDelimiterFilter in conjuncton with stemming. -->
      <filter class="solr.RemoveDuplicatesTokenFilterFactory"/>
  </analyzer>
  <analyzer type="query">
      <tokenizer class="solr.PatternTokenizerFactory" pattern="\|\s*" />
      <filter class="solr.LowerCaseFilterFactory"/>
      <!--<filter class="solr.WordDelimiterFilterFactory" generateWordParts="1" generateNumberParts="1" catenateWords="0" catenateNumbers="0" catenateAll="0" splitOnCaseChange="0"/>-->
      <!-- this filter can remove any duplicate tokens that appear at the same position - sometimes
     possible with WordDelimiterFilter in conjuncton with stemming. -->
      <filter class="solr.RemoveDuplicatesTokenFilterFactory"/>
  </analyzer>
</fieldType>

我希望这与我发送包含三个不同 cat 字段的文档一样,但它似乎并没有做太多,只是不断返回我的竖线分隔列表。

我正在尝试做的事情是否可行,如果可行,我哪里出错了?

谢谢, 阿马尔

最佳答案

使用 PatternTokenizer 将仅更改内部表示而不更改存储的值。如果您希望 Solr 将其视为具有多个可显示值的多值字段,那么您需要发送 3 个不同的 cat 字段。

如果您正在使用 DataImportHandler,那么您可以使用 RegexTransformer 来拆分数据。

关于xml - Solr 索引在分隔符上拆分字段,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5502421/

相关文章:

c# - 如何解析来自 WebException 响应的内部异常

android - 由可绘制资源 ID #0x7f02007e 中的 : android. content.res.Resources$NotFoundException : File res/drawable/ic_email_black. xml 引起

java - 如何使用 Java 从 XML 文件创建线程

java - 解析 XML 提要

php - 多面搜索(solr)与通过 PHP 进行的旧式过滤比较好?

java - 如何在java中以编程方式从任何句子的中间获取输入?

Solr:索引 fb2 文件

当随机字段值改变时,Solr 会更改文档的分数

solr - SOLR排名中权重的确切含义

jquery - POST XML 到服务器,接收 PDF