(第一閱讀這篇文章How to use Elastic Search on top of a pre-existing SQL Database?)我目前使用MySQL,但我試圖改變使用ElasticSearch作爲我們的搜索引擎。我使用下面的捲曲請求遷移表通過Elastic Search River JDBC彈性搜索:ElasticSearch複製指數
curl -XPUT 'localhost:9200/_river/table_river/_meta' -d '{
"type" : "jdbc",
"jdbc" : {
"url" : 'localhost:9200/blah', "user" : "x", "password" : "x",
"sql" : "select some_field as _id, * From some_table",
"index": "some_index",
"type" : "some_type",
"schedule" : "0 0-59 0-23 ? * *"
}
}'
要保持彈性搜索和同步MySQL表,我使用的調度參數爲每分鐘運行和拉表到彈性搜索,但在執行過程中彈性搜索創建重複的指標,我得到如下結果:
complete: river jdbc/table_river metrics: 21123 rows
一分鐘後,河水執行一次我得到如下回應:
complete: river jdbc/table_river metrics: 42246 rows
我的「index_total」從21125增加到42248到63371,但文檔總數保持不變:21125
我可能沒有正確地做事。我會首先接受一篇文章的網址,而不是某個人告訴我如何去做。我首先做了一些公平的研究。
Avoid rebuilding index through jdbc-river on elasticsearch
elasticsearch data increase & duplicate at each restart
什麼叫重複的指數是什麼意思?你能嘗試描述你想要做什麼嗎?也許一個快速更新添加一些日誌錯誤 – eliasah
作出我的描述,希望你能幫助我 – mxlfa
這似乎是你誤解了Elasticsearch JDBC河插件實際上是如何工作的。爲什麼你需要保持數據庫和elasticsearch同步?你多長時間在數據庫中插入/更新元素? – eliasah