如何在solr中避免重复文档?

时间:2015-07-13 11:08:17

标签: solr solrj solr4 solrcloud

我正在尝试使用MapReduceindexer工具索引hbase数据。我使用下面的命令

成功编制索引
hadoop jar /usr/lib/hbase-solr/tools/hbase-indexer-mr-1.5-cdh5.3.0-job.jar  --hbase-indexer-zk localhost --hbase-table-name indexdemo-user --hbase-indexer-name mynewindexer  --hbase-indexer-file /home/cloudera/indexdemo-indexer.xml   --collection collection1 --go-live

上面的命令成功索引了数据,我也可以从solr Web UI看到。但是当我第二次运行上面的命令时,它再次索引并在solr UI中显示两个文件。但我的需求是有一个文档(即第二次运行必须覆盖第一个数据)。因此,即使我多次运行相同的命令,我将只得到一个带有最新条目的文档。(注意:当我使用java直接索引时API,即使多次运行相同的程序,也只提供一个文档。我需要使用索引器工具。

任何建议都表示赞赏。谢谢。

1 个答案:

答案 0 :(得分:4)

定义具有唯一值的字段,该值将文档标识为the uniqueKey for the schema。只要每次运行中uniqueKey相同,旧文档将被替换/更新。

如果您在每次索引时生成一个唯一值(或者没有配置uniqueKey),Solr将无法确定哪些文档确实是同一个文档。