如何在 Solr 中拦截文档
How To intercept Document in Solr
我想通过在每个标记前添加一些值来操作文档并更改字段的标记值。我正在通过 DIH 进行批量更新,并通过 SOLRJ 发布文档。我的复制因子为 2,因此复制也应该有效。我要添加的值作为单独的字段存在于文档中。我很想知道在索引之前我可以截取文档的位置,以便我可以对其进行操作。我能想到的选项之一是覆盖 DirectUpdateHandler2。这是正确的地方吗?
我可以通过外部处理文档并将其传递给 SOLR 来完成,但我想在 SOLR 内部完成。
文档字段是:
- 城市:孟买
- 餐厅名称:Talk About
- 关键词:咖啡、中餐、南印度、酒吧
我想将关键字索引为
- mumbai_cofee
- mumbai_Chines
- mumbai_South 印度人
- mumbai_Bar
正确的位置是 Update Request Processor,您确保将其插入 sorlconfig.xml 到您正在使用的所有更新处理程序(包括 DIH),并且单个 URP 将涵盖所有更新。
在 URP 的 java 代码中,您可以轻松获取一个字段的值,然后将其添加到另一个字段中的所有其他值等。这发生在文档被索引之前。
我想通过在每个标记前添加一些值来操作文档并更改字段的标记值。我正在通过 DIH 进行批量更新,并通过 SOLRJ 发布文档。我的复制因子为 2,因此复制也应该有效。我要添加的值作为单独的字段存在于文档中。我很想知道在索引之前我可以截取文档的位置,以便我可以对其进行操作。我能想到的选项之一是覆盖 DirectUpdateHandler2。这是正确的地方吗?
我可以通过外部处理文档并将其传递给 SOLR 来完成,但我想在 SOLR 内部完成。
文档字段是:
- 城市:孟买
- 餐厅名称:Talk About
- 关键词:咖啡、中餐、南印度、酒吧
我想将关键字索引为
- mumbai_cofee
- mumbai_Chines
- mumbai_South 印度人
- mumbai_Bar
正确的位置是 Update Request Processor,您确保将其插入 sorlconfig.xml 到您正在使用的所有更新处理程序(包括 DIH),并且单个 URP 将涵盖所有更新。
在 URP 的 java 代码中,您可以轻松获取一个字段的值,然后将其添加到另一个字段中的所有其他值等。这发生在文档被索引之前。