我已经做过的事情:
我通过本教程将我的hbase与elasticsearch联系起来:
http://lessc0de.github.io/connecting_hbase_to_elasticsearch.html
我获得了hbase表内容的索引,但是在向hbase添加新行之后,它不会自动添加到elasticsearch索引中。我试着将这一行添加到我的conf:
"schedule" : "* 1/5 * ? * *"
和映射:
"mappings": {
"jdbc" : {
"_id" : {
"path" : "ID"
}
}
}
指定_id = ID,ID在我的hbase表中具有唯一值。
它运作良好:当我向hbase添加新行时,它会在不到5分钟的时间内上传到索引。但它对性能不利,因为它每5分钟执行一次查询并且不会将旧内容添加到索引中,因为_id必须是唯一的。这对小型数据库很有用,但我的hbase表中有超过1000万行,所以我的索引一直在运行。
弹性搜索的任何解决方案或插件都能自动检测db中的更改并仅将新行添加到索引中吗?
我使用:
创建索引curl -XPUT 'localhost:9200/_river/jdbc/_meta' -d '{
"type" : "jdbc",
"jdbc" : {
"url" : "jdbc:phoenix:localhost",
"user" : "",
"password" : "",
"sql" : "select ID, MESSAGE from test",
"schedule" : "* 1/5 * ? * *"
}
}'
感谢您的帮助。