首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Solr集群+ DataImportHandler:我可以拥有自动生成的id吗?

Solr集群+ DataImportHandler:我可以拥有自动生成的id吗?
EN

Stack Overflow用户
提问于 2013-10-07 17:31:57
回答 1查看 340关注 0票数 0

我使用的是Solr 4.3。我已经创建了4个分片。我配置了UniqueKey自动生成的字段,如下所示:

http://wiki.apache.org/solr/UniqueKey

如果我使用实际的更新处理程序插入文档(即,如果我使用一些JSON数据向/update发出HTTP POST,则会为每个文档自动生成唯一键),它就能正常工作。

但是,如果我使用DataImportHandler从数据库中提取一些文档,它们不会被添加到索引中,相反,我会在Solr日志中看到一条警告,说"mandatory id field is missing“。

我知道DataImportHandler不会通过UpdateHandler来添加文档,但我希望这个功能也能适用于DIH……

所以我的问题是:有人知道如何在使用DataImportHandler插入文档时自动生成Solr4.3集群的id吗?

EN

回答 1

Stack Overflow用户

发布于 2013-10-08 17:47:20

好吧,我最终使用的解决方案是这样的

  • 在Java语言中创建了一个自定义转换器(实际上我已经在使用了--我发现它比在JS中做要快-- Solr提供了另一个选项)
  • 在这个转换器内,我几乎做了UUIDUpdateProcessorFactory所做的事情:

@

  • public Object transformRow(Map行,Context context) { row.put("id",Solr然后从我的solrconfig.xml中删除了<updateRequestProcessorChain name="uuid">标签,只保留了schema.xml配置,根据问题

中的链接

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/19221285

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档