Elasticsearch優化的一些思路總結

Elasticsearch優化的一些思路總結

    1、 寫入時候使用save()、saveAll()方法的改爲使用index(),bulkIndex()方法,sava類方法裏面也是使
    用的index方法和refresh(),這樣優化可以避免每次sava類方法的時候都調用refresh()方面來刷新數
    據,使用index類方法,refresh()方法會在設置的時間自己調用refresh()方法,節約性能

    2、 設置數據index數據的時候,字段類型的使用,如果是從老版本改爲使用新版本的Elasticsearch  
    的,對於枚舉類型可以使用keyWord來提高檢索效率,keyWord是完全匹配,

   3、  記錄數據的時候儘量使用routeKey,這樣查詢的時候指定routeKey,這樣來提高查詢效率,查詢
   接口源碼中並沒有加入route,需要自己重寫一下

   4、  接口的職能匹配,比如有一個查詢數據和分頁接口A(),1、一個調用方使用來正確查
   詢數據,2、另一個調用方使用來查詢出數據之後,取一個總數total,做一個統計,數據不一樣,有
   些查詢條件不一樣,   這樣造成的就是該接口的調用量太大,而且造成查詢效率低下,平均調用時間
   過長。
	   正常的使用做法是:1、該接口拆分爲2個,一個查詢數據,另外一個做統計查詢, 因爲查詢數
   據,分頁查詢的時候會涉及到排序, 但是統計查詢並不需要這樣,可以去掉排序查詢過濾。還有
   調用底層查詢方法的時候,一個使用queryForPage(),一個使用的是count(),接口使用不一樣,接口
   職能匹配也是很重要的,不能因爲想節約時間,不開放新接口,使用一個接口造成接口的亂調用,
   5、  如果條件允許,大神多,還可以寫自己業務特有的分詞器來提高搜索查詢效率

	Elasticsearch官方相關資料:[es權威指南](https://www.elastic.co/guide/cn/elasticsearch/guide/current/index.html)
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章