如何拦截Solr中的文档

时间:2015-04-17 13:50:14

标签: solr solrcloud

我想操作doc并通过在每个标记前面添加一些值来更改字段的标记值。我正在通过DIH进行批量更新,并通过SOLRJ发布文档。我的复制因子为2,因此复制也应该有效。我想要添加的值在文档中作为单独的字段存在。我有兴趣知道在索引之前我可以拦截文档的地方,以便我可以操作它。我可以想到的一个选项是覆盖DirectUpdateHandler2。这是对的吗?

我可以通过外部处理文档并将其传递给SOLR来实现。但我想在SOLR内部进行。

文件字段为:

  1. 城市:Mumbai
  2. 餐馆名称:谈论
  3. 关键词:Cofee,Chines,South Indian,Bar
  4. 我想将关键字编入索引为

    1. mumbai_cofee
    2. mumbai_Chines
    3. mumbai_South Indian
    4. mumbai_Bar

1 个答案:

答案 0 :(得分:0)

正确的地方是Update Request Processor,您确保将sorlconfig.xml中的内容插入到您正在使用的所有udpate处理程序(包括DIH)中,并且单个URP将涵盖所有更新。

在URP的java代码中,您可以轻松获取字段的值,然后将其添加到另一个字段中的所有其他字段等。这在文档编制索引之前就已经发生。