先挖坑,后填。
0.我用elasticsearch做了哪些事
數據來源:通過logstash實時導入elasticsearch,一類 mysql 中項目信息;一類日志信息
常用查詢寫法
1.做某些字段的篩選的查詢、統計等
- 某個項目訪問量
- 某個渠道來的訪問量
- 聚合搜索熱門詞匯
- 統計某篇帖子訪問量
2.從mysql來的數據
- 猜你喜歡,根據用戶捐贈過的項目名字,查詢在項目名稱和描述字段中,與之較接近的前多少項目。
一會兒貼查詢sql
寫個博客,我太難了,公司條件不允許,只能拍照。
1.懶人用法,包裝Restapi。考慮到java 的api 不太熟悉,反而在RESTful下調用SQL比較得心應手的情況下,封裝了rest請求
圖三,將es 地址寫入配置文件,通過ClasspathResource拿到配置文件,再文件中讀取es地址路徑,ESutil類封裝了es rest請求,postEs方法有兩個參數url和body,url用來放請求的索引地址,body放ES的請求sql,方法里面封裝http請求,并將返回結果解析為json對象。這樣每次使用只需要調這個方法,傳兩個參數即可。
圖1,是處理返回結果的解析封裝,這塊沒處理好,不夠通用,對于單個搜索和聚合的處理是不同的。
圖2,是實際的請求sql.



3.看了一篇帖子的醒悟,一直錯用了Elasticsearch:https://zhuanlan.zhihu.com/p/60458049
之前公司使用場景:將全量ngiNx采集的h5和app等訪問日志通過logstash寫入elasticsearch,在此基礎上做,查詢統計、猜你喜歡、熱門搜索、熱門帖子,帖子點擊率等操作,這樣其實很多日志數據并不關心,還占用了大量cache資源,尤其是在做猜你喜歡時,將mysql 實時增量數據導入el,字段多大20多,實則沒太大意義,看過后只保存了重要的字段信息,日后引入hbase存儲不太經常訪問的字段試下。
更多相關:https://www.iteblog.com/archives/tag/elasticsearch/
4.最近在深舉辦的開源社區的meetup活動小結
浙公網安備 33010602011771號