ElasticSearch实战
最近中美關系越來越緊張,國內經濟下滑,股市一片慘淡,互聯網行業越來越不景氣,動不動都是跌掉幾千億市值,來寫一些文檔來撫慰這顆受傷的心吧。。。
隨著互聯網的發展,數據越來越重要,每個公司保存的數據也是越來越多,不管做什么產品,存儲和搜索這些數據都面臨著一些挑戰,很多數據在存儲了之后,基本上都被雪藏了,找不到了,更談不上從垃圾里面找黃金了(這可能設計數據分析了,暫且不講),那我們? ? 今天要解決的第一步是怎么從大海里面把某一個針找到,目前市場上活躍的搜索開源產品很多,例如coreseek,solr,ElasticSearch,我們今天就來講講目前用的最廣泛的ElasticSearch。
搜索基本上都是圍繞幾個方面來的:
1.索引問題
? ? ? ? ? ?按照什么策略來生成索引 (按照數據數量)
? ? ? ? ? ?怎么合理的生成相關的mapping
? ? ? ? ? ?每個索引包含多少個shard,replication
? ? ? ? ? ?每個shard的大小應該是多少
? ? ? ? ? ?數據flush和refresh設計多大才好呢
? ? ? ? ? ?中文字段有什么分詞,使搜索更準確
? ? ? ? ? ?索引多久進行合并,多久合并一次? ? ? ??
? ? ? ? ? ?如果數據源為數據庫,那么多個表,每一個是生成一個type呢?還是生成一個索引
2.搜索問題
? ? ? ? ? ?數據越來越多,如何能保證搜索的速度
? ? ? ? ? ?如果是中文,怎么保證搜索的相關性最強
? ? ? ? ? ?搜索時,多個shard的數據怎么進行整合,返回給client方
? ? ? ? ? ?搜索Client用那種方式
? ? ? ? ? ?搜索內部用了什么算法來保證搜索速度
? ? ? ? ? ?搜索時用query還是filter
3.集群穩定性
? ? ? ? ? ?master的選舉用什么算法,怎么保證不會腦裂
? ? ? ? ? ?大量生成mapping時,大量的網絡傳輸,會不會造成,集群假死(不進行響應)
? ? ? ? ? ?生成的mapping在集群中是怎么保存的??
? ? ? ? ? ?部署集群是JVM應該怎么分配
? ?上面一些問題,基本上在初學或者后面的使用中多多少少都會遇到,我們怎么能避免這些問題呢,且聽后面文章一篇一篇詳細的剖析,系統通過這一系列文檔來幫助一些初學者或者有同樣困惑的小伙伴們
轉載于:https://www.cnblogs.com/duwamish/p/9620387.html
總結
以上是生活随笔為你收集整理的ElasticSearch实战的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 关于Android单元测试
- 下一篇: unity实现抛物线及太阳系