es版本:6.5.4
如題,最近做項目時遇到這樣一個問題。
本來配置的索引應該是:
通過esTemplate創建index和type之後,變成了這樣:
本應該是type:keyword的字段變成了fields:{}…
導致:搜索查詢不準確,通過esRepository的一些方法,比如根據某個分類id刪除數據的方法deleteByFirstCategoryId()之類的方法無效了。
經過本地es和公司服務器的es配置發現:
公司的es沒有配置ik分詞器,導致在put mapping的時候失敗了,而這個時候有數據往es裏添加的時候,就會創建一些莫名其妙的字段類型。
因爲我這裏配置了ik_max_word細粒度分詞,而es裏沒有配置ik分詞器插件的話就出問題了。
因此es裏配上和es版本一樣的ik分詞器,再重新創建索引庫,解決了這個問題。