測試同學反饋,某業務商品數據查詢不到,但數據庫裏面存在。
我們商品數據,從es中查詢的。通過logstash,將mysql裏面的數據同步到es中。
查看了下es中,該數據確實不存在。
重新構建index 然後做了一次全量數據同步,發現es中的數據總量低於mysql中數據源的數據總量。
原因:
sql有問題。數據查詢sql,未指定排序。使用的默認排序,庫表使用的InnoDB引擎。
當數據發生delete、update時,排序會發生變化。
後來指定根據主鍵排序,數據同步正常。es中數據和mysql數據量一樣