全文搜索

數(shù)據(jù)結(jié)構(gòu)

  • 數(shù)據(jù)機構(gòu)
    • 結(jié)構(gòu)化:指具有固定格式池充,或者有限長度的數(shù)據(jù)坑匠,如數(shù)據(jù)庫咽瓷,元數(shù)據(jù)等
    • 非結(jié)構(gòu)化:指無定長的或者無固定格式的數(shù)據(jù)围来,如郵件航唆,或者word文檔,文本文檔等

非結(jié)構(gòu)化數(shù)據(jù)的檢索

  • 順序掃描法(Serial Scanning):從頭到尾的檢索再榄,適合小數(shù)據(jù)型的數(shù)據(jù)
    • 操作系統(tǒng)索索文件
    • Linux上的wrapper方法
  • 全文索索(Full-text Search)
    • 將非結(jié)構(gòu)化的數(shù)據(jù)中的一部分信息提取出來剑按,重新進行組織,使其變得有一定的結(jié)構(gòu)姑荷,然后對這部分數(shù)據(jù)進行搜索撇叁,以達到快速搜索的目的
    • 索引:就是上述說的被提取出來的信息,重新進行組織后變成的結(jié)構(gòu)化數(shù)據(jù)
    • 相當(dāng)于字典

全文搜索的實現(xiàn)原理

  • 建立文本庫(把所有的漢字收集起來)
  • 建立索引(把漢字的規(guī)律提取出來)
  • 執(zhí)行搜索(對要查詢的漢字進行查找)
  • 過濾結(jié)果(去掉其他不是自己檢索的字)

全文搜索的實現(xiàn)技術(shù)

  • 基于java的開源實現(xiàn)
    • Lucene 全文搜索的引擎
    • ElasticSearch :基于Lucene建立起來的
    • Solr :全文檢索系統(tǒng)君账,跟ElasticSearch差不多
    • 對比:solr利用了第三方的分布式管理系統(tǒng),在傳統(tǒng)的應(yīng)用中solr要好一點,而ElasticSearch自身有割以。目前ElasticSearch應(yīng)用的更多一點

ElasticSearch的簡介

  • 高度可擴展的開源全文搜索和分析引擎
  • 快速的消玄,可近實時地對大數(shù)據(jù)進行存儲嗜桌、搜索和分析
  • 用來支撐有復(fù)雜的數(shù)據(jù)搜索需求的 企業(yè)應(yīng)用
  • 特點:
    • 分布式:會把數(shù)據(jù)存儲的索引分開到多個分片去的
    • 高可用:由于是分布式系統(tǒng),就算是若干臺主機崩潰了桦卒,系統(tǒng)服務(wù)還是可以正常使用裕偿,所以是高可用的。
    • 多類型
    • 多API
    • 面向文檔:不用事先定義模式挥吵,每個類型可以定義模式和自定義索引
    • 異步導(dǎo)入
    • 進實時
    • 基于Lucene
    • Apache協(xié)議

ElasticSearch核心概念

  • 近實時

    • 其實可以做到實時的脉幢,需要犧牲索引的效率:每次搜索的時候,都要進行刷新,如果犧牲查詢的效率髓废,每次查詢之前都需要刷新
    • 而ElasticSearch做了一個折中的方案,每隔N秒去自動做一次刷新冈爹,在創(chuàng)建索引之后因痛,最多就是在N秒之內(nèi)就能查詢到较性。
    • 索引創(chuàng)建后不會直接寫入磁盤,而是存放到了文件系統(tǒng)緩存當(dāng)中歹垫,會與刷新策略設(shè)置定期的同步到磁盤去。
    • 一般刷新策略的參數(shù)設(shè)置在1秒,因為延遲會有一秒的原因
  • 集群:它是一個或者多個節(jié)點的集合砾莱,用來保存應(yīng)用的所有數(shù)據(jù) 魔策,并提供基于全部節(jié)點的集成式的索引和搜索功能

    • 每個集群的名稱都是唯一的,默認的就是ElasticSearch访锻。
    • 節(jié)點要加入集群褪尝,需要根據(jù)這個名稱來河哑,盡量不要使用相同的名稱佳吞,以避免節(jié)點在加入集群的時候產(chǎn)生錯誤容达,
    • 每個集群需 的名稱
  • 節(jié)點
    -是指集群中算芯,單臺的服務(wù)器届囚,用來保存數(shù)據(jù)迎瞧,并參與整個集群的索引和搜索

    • 用UUID通用分的唯一標(biāo)識符來表示扰才,名稱在節(jié)點啟動的時候允懂,分配給節(jié)點的,可以自定義名稱
  • 索引:用來加快搜索的速度的衩匣。相似文檔的集合蕾总,內(nèi)容與義務(wù)本身的業(yè)務(wù)是相關(guān)的粥航,可以利用索引保存數(shù)據(jù)每個索引都有一個名稱,通過這個名稱可以對索引中包含的文檔來進行添加更新生百,刪除和搜索等等操作递雀。再單個集群中可以根據(jù)需要定義任意數(shù)量的索引。

  • 類型:是對索引包含的文檔要進一步的細分蚀浆。 根據(jù)文檔的公共屬性進行劃分

  • 文檔:進行索引的基本單位缀程,與索引中的類型是相對應(yīng)的。文檔使用的是json的格式來表示市俊;在非結(jié)構(gòu)化數(shù)據(jù)中杨凑,文檔對應(yīng)的是結(jié)構(gòu)化數(shù)據(jù)中的一個實體。文檔的一個實例對應(yīng)的就是關(guān)系型數(shù)據(jù)庫中的實體的一個實例摆昧,也就是具體的某條數(shù)據(jù)

  • 分片:需要水平分割或者縮放內(nèi)容卷撩满,通過分片分配到多個節(jié)點上,進行并行绅你,從而提高性能和吞吐量

  • 副本:分片可以設(shè)置不同的副本伺帘,故障不可避免,所以需要設(shè)置副本忌锯。增加副本其實可以增加吞吐量和搜索量

  • 總體來說伪嫁,索引可以分配多個分片,而分片又可以設(shè)置多個副本汉规,默認情況下礼殊,ElasticSearch的每個索引會分配5個分片和1個副本,意味著每個集群至少有2個節(jié)點, 擁有5個分片和5個副本针史,這樣就有10個分片晶伦。

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末,一起剝皮案震驚了整個濱河市啄枕,隨后出現(xiàn)的幾起案子婚陪,更是在濱河造成了極大的恐慌,老刑警劉巖频祝,帶你破解...
    沈念sama閱讀 218,525評論 6 507
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件泌参,死亡現(xiàn)場離奇詭異,居然都是意外死亡常空,警方通過查閱死者的電腦和手機沽一,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 93,203評論 3 395
  • 文/潘曉璐 我一進店門,熙熙樓的掌柜王于貴愁眉苦臉地迎上來漓糙,“玉大人铣缠,你說我怎么就攤上這事。” “怎么了蝗蛙?”我有些...
    開封第一講書人閱讀 164,862評論 0 354
  • 文/不壞的土叔 我叫張陵蝇庭,是天一觀的道長。 經(jīng)常有香客問我捡硅,道長哮内,這世上最難降的妖魔是什么? 我笑而不...
    開封第一講書人閱讀 58,728評論 1 294
  • 正文 為了忘掉前任壮韭,我火速辦了婚禮北发,結(jié)果婚禮上,老公的妹妹穿的比我還像新娘泰涂。我一直安慰自己鲫竞,他們只是感情好,可當(dāng)我...
    茶點故事閱讀 67,743評論 6 392
  • 文/花漫 我一把揭開白布逼蒙。 她就那樣靜靜地躺著,像睡著了一般寄疏。 火紅的嫁衣襯著肌膚如雪是牢。 梳的紋絲不亂的頭發(fā)上,一...
    開封第一講書人閱讀 51,590評論 1 305
  • 那天陕截,我揣著相機與錄音驳棱,去河邊找鬼。 笑死农曲,一個胖子當(dāng)著我的面吹牛社搅,可吹牛的內(nèi)容都是我干的。 我是一名探鬼主播乳规,決...
    沈念sama閱讀 40,330評論 3 418
  • 文/蒼蘭香墨 我猛地睜開眼形葬,長吁一口氣:“原來是場噩夢啊……” “哼!你這毒婦竟也來了暮的?” 一聲冷哼從身側(cè)響起笙以,我...
    開封第一講書人閱讀 39,244評論 0 276
  • 序言:老撾萬榮一對情侶失蹤,失蹤者是張志新(化名)和其女友劉穎冻辩,沒想到半個月后猖腕,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體,經(jīng)...
    沈念sama閱讀 45,693評論 1 314
  • 正文 獨居荒郊野嶺守林人離奇死亡恨闪,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 37,885評論 3 336
  • 正文 我和宋清朗相戀三年倘感,在試婚紗的時候發(fā)現(xiàn)自己被綠了。 大學(xué)時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片咙咽。...
    茶點故事閱讀 40,001評論 1 348
  • 序言:一個原本活蹦亂跳的男人離奇死亡老玛,死狀恐怖,靈堂內(nèi)的尸體忽然破棺而出,到底是詐尸還是另有隱情逻炊,我是刑警寧澤互亮,帶...
    沈念sama閱讀 35,723評論 5 346
  • 正文 年R本政府宣布,位于F島的核電站余素,受9級特大地震影響豹休,放射性物質(zhì)發(fā)生泄漏。R本人自食惡果不足惜桨吊,卻給世界環(huán)境...
    茶點故事閱讀 41,343評論 3 330
  • 文/蒙蒙 一威根、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧视乐,春花似錦洛搀、人聲如沸。這莊子的主人今日做“春日...
    開封第一講書人閱讀 31,919評論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽。三九已至伸刃,卻和暖如春谎砾,著一層夾襖步出監(jiān)牢的瞬間,已是汗流浹背捧颅。 一陣腳步聲響...
    開封第一講書人閱讀 33,042評論 1 270
  • 我被黑心中介騙來泰國打工景图, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留,地道東北人碉哑。 一個月前我還...
    沈念sama閱讀 48,191評論 3 370
  • 正文 我出身青樓挚币,卻偏偏與公主長得像,于是被迫代替她去往敵國和親扣典。 傳聞我的和親對象是個殘疾皇子妆毕,可洞房花燭夜當(dāng)晚...
    茶點故事閱讀 44,955評論 2 355

推薦閱讀更多精彩內(nèi)容

  • 關(guān)于Mongodb的全面總結(jié) MongoDB的內(nèi)部構(gòu)造《MongoDB The Definitive Guide》...
    中v中閱讀 31,938評論 2 89
  • 博客原文一博客原文二 翻譯作品,水平有限激捏,如有錯誤设塔,煩請留言指正。原文請見 官網(wǎng)英文文檔 起步 Elasticse...
    rabbitGYK閱讀 3,256評論 0 68
  • 一直認為語言有味道远舅,像人的酸甜苦辣闰蛔,然偶然間明白辣不是味覺,而是痛覺图柏。才明白辛辣的語言不僅僅可以灼傷別人序六,更...
    熊貓續(xù)夢閱讀 801評論 0 1
  • 不再看言情小說了例诀!這是我深思熟慮無數(shù)次的答案随抠,不過又有哪一次真的做到了?作為一名理科生看小說是絕對耽誤學(xué)習(xí)的繁涂,可是...
    那個少年我的信仰0921閱讀 170評論 0 1
  • 想來想去扔罪,比起簡單的介紹姓名秉沼、工作、性格矿酵,我更愿意你更直接的認識我唬复。那么,水晶全肮、靈氣與圖書出版就是我的三個標(biāo)簽了敞咧。...
    nana吶兒閱讀 248評論 7 2