天天看點

中間件學習筆記——ElasticSearch一、什麼是全文索引二、ElasticSearch簡介三、IK分詞器四、Kibana使用-掌握DSL語句

文章目錄

  • 一、什麼是全文索引
  • 二、ElasticSearch簡介
    • 概述
  • 三、IK分詞器
    • 簡介
  • 四、Kibana使用-掌握DSL語句
    • 簡介
    • Spring Data

一、什麼是全文索引

  我們在浏覽各種網頁的情況下,無不例外需要涉及到搜尋的需求。然而像淘寶、京東這類的大流量公司,存儲的資料量達到上億的情況下。若還是編寫select語句去查詢每一條記錄,老闆早就把你開了。在高資料量的情況下,要實作快速,哦不,迅速查詢的需求,我們就要使用到全文索引。

中間件學習筆記——ElasticSearch一、什麼是全文索引二、ElasticSearch簡介三、IK分詞器四、Kibana使用-掌握DSL語句

二、ElasticSearch簡介

概述

  Elasticsearch是面向文檔(document oriented)的,這意味着它可以存儲整個對象或文檔(document)。然而它不僅僅是存儲,還會索引(index)每個文檔的内容使之可以被搜尋。在Elasticsearch中,你可以對文檔(而非成行成列的資料)進行索引、搜尋、排序、過濾。Elasticsearch比傳統關系型資料庫如下:

中間件學習筆記——ElasticSearch一、什麼是全文索引二、ElasticSearch簡介三、IK分詞器四、Kibana使用-掌握DSL語句

三、IK分詞器

簡介

  簡單來說,IK分詞器可以把一句話分為幾個詞,友善索引的建立和查找。例如:“我是大帥哥”—>“我” “是” “大帥哥”。

  IK分詞器3.0的特性如下:

  1. 采用了特有的“正向疊代最細粒度切分算法“,具有60萬字/秒的高速處理能力。
  2. 采用了多子處理器分析模式,支援:英文字母(IP位址、Email、URL)、數字(日期,常用中文數量詞,羅馬數字,科學計數法),中文詞彙(姓名、地名處理)等分詞處理。
  3. 對中英聯合支援不是很好,在這方面的處理比較麻煩.需再做一次查詢,同時是支援個人詞條的優化的詞典存儲,更小的記憶體占用。
  4. 支援使用者詞典擴充定義。
  5. 針對Lucene全文檢索優化的查詢分析器IKQueryParser;采用歧義分析算法優化查詢關鍵字的搜尋排列組合,能極大的提高Lucene檢索的命中率。

四、Kibana使用-掌握DSL語句

簡介

  我們在搭建好的ElasticSearch中往往無法滿足我們複雜的業務需求。Kibana 是一款開源的資料分析和可視化平台,它是 Elastic Stack 成員之一,設計用于和 Elasticsearch協作。您可以使用 Kibana 對Elasticsearch 索引中的資料進行搜尋、檢視、互動操作。您可以很友善的利用圖表、表格及地圖對資料進行多元化的分析和呈現。Kibana 可以使大資料通俗易懂。它很簡單,基于浏覽器的界面便于您快速建立和分享動态資料儀表闆來追蹤 Elasticsearch 的實時資料變化。

  我們通過DSL語句便可對索引庫中的資料進行增删改查業務。具體api可參考連結: DSL語句API。

Spring Data

  Spring Data是一個用于簡化資料庫通路,并支援雲服務的開源架構。其主要目标是使得對資料的通路變得友善快捷,并支援map-reduce架構和雲計算資料服務。 Spring Data可以極大的簡化JPA的寫法,可以在幾乎不用寫實作的情況下,實作對資料的通路和操作。除了CRUD外,還包括如分頁、排序等一些常用的功能。具體api可參考連結: Spring Data Elasticsearch-----API.