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