我正在尝试使用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,即使多次运行相同的程序,也只提供一个文档。我需要使用索引器工具。
任何建议都表示赞赏。谢谢。
答案 0 :(得分:4)
定义具有唯一值的字段,该值将文档标识为the uniqueKey for the schema。只要每次运行中uniqueKey相同,旧文档将被替换/更新。
如果您在每次索引时生成一个唯一值(或者没有配置uniqueKey),Solr将无法确定哪些文档确实是同一个文档。