日日操夜夜添-日日操影院-日日草夜夜操-日日干干-精品一区二区三区波多野结衣-精品一区二区三区高清免费不卡

公告:魔扣目錄網為廣大站長提供免費收錄網站服務,提交前請做好本站友鏈:【 網站目錄:http://www.ylptlb.cn 】, 免友鏈快審服務(50元/站),

點擊這里在線咨詢客服
新站提交
  • 網站:51998
  • 待審:31
  • 小程序:12
  • 文章:1030137
  • 會員:747

作者 | 蔡柱梁
審校 | 重樓

目錄

  1. ES是什么
  2. 倒排索引
  3. 使用ES必須知道的基本概念
  4. 了解常用的DSL

1 ES是什么

Elasticsearch 是一個分布式的 RESTful 搜索和分析引擎,可用來集中存儲您的數據,以便您對形形色色、規模不一的數據進行搜索、索引和分析。
上面是??官網-API文檔??對的定位描述。ES 是一個分布式的搜索引擎,數據存儲形式與我們常用的 MySQL 的存儲形式 — rows 不同,ES 會將數據以 JSON 結構存儲到一個文檔。一個文檔寫入 ES 后,我們可以在 1 秒左右查詢到它,因此我們稱 ES 在分布式中數據查詢是準實時的。

提問:那么這種將一行行數據變成

我們傳統的關系型數據庫一般的存儲形式是數據結構不固定,長度不固定。這時如果用關系型數據庫做存儲,那么我們表設計上,只能用一個
為了可以適應高并發,又能快速檢索、分析數據的搜索分析引擎,像倒排索引實現可以通過詞條快速查找文檔的,而倒排索引的實現與這種文檔存儲數據的方式密不可分。
ES 的適用場景所具有的特點:
  • 海量數據的搜索服務
  • 對實時性要求較高
  • 對事務要求不高

2 倒排索引

倒排索引是文檔檢索系統中最常用的數據結構。
說到幫助搜索引擎檢索數據的數據結構,我們最熟悉的應該就是倒排索引了。過去很多人喜歡用字典來舉例,因為它的原理和我們使用中文字典查找漢字是相似的。



ES 會在我們保存一份文檔的時候,將文檔根據指定分詞器進行分詞,然后維護關鍵詞和文檔的關系——倒排索引。后面我們通過一些詞條進行檢索的時候,就可以通過這個索引找到對應相關的文檔。

2.1 例子

下面舉個例子。
插入兩份文檔,內容如下:
  1. we like JAVA java java
  2. we like lucene lucene lucene
建立倒排索引大體流程如下:
  1. 首先對所有數據的內容進行拆分,拆分成唯一的一個個詞語(詞條)
  2. 然后建立詞條和對應文檔的對應關系,具體如下:
詞條? (文檔ID,頻率)? 詞條在文檔中的位置?
we (1,1) (2,1) (0) (0)
like (1,1) (2,1) (1) (1)
java (1,3) (2,3,4)
lucene (2,3) (2,3,4)
注意:這里用表格來展示是為了方便理解,但是倒排索引其實是樹結構。
那這時我檢索詞條:


 

3 使用ES必須知道的基本概念

這里的概念是我們在使用過程中絕對無法繞開的概念,所以我們需要知道,否則無法和同事交流,哪怕僅僅是使用級別。

3.1 document(文檔)

在 ES 中,一份文檔相當于 MySQL 中的一行記錄,數據以 JSON 格式保存。文檔被更新時,版本號會被增加。

3.2 Index(索引)

存儲文檔的地方,類似 MySQL 中的表。

3.3 MApping(映射)

映射是定義一個文件和它所包含的字段如何被存儲和索引的過程(??這是官方定義??)。
文檔里面有許多字段,這些字段有自己的類型,采用什么分詞器等等,我們可以通過。

3.4 type(類型)

這是比較老舊版本會用到的定義,在 ES5 的時代,它可以對 Index 做更精細地劃分,那個時代的 Index 更像 MySQL 的實例,而 type 類似 MySQL 的 table。
ES 5.x 中一個index可以有多種type。
ES 6.x 中一個index只能有一種type。
ES 7.x 以后,將逐步移除type這個概念,現在的操作已經不再使用,默認_doc。

4 了解常用的DSL

在 MySQL 中,我們經常使用 SQL 通過客戶端操作 MySQL,而 DSL 正是我們通過客戶端發送給 ES 的操作指令。
下面只寫一些現在我們常常接觸的簡單的 DSL,更多的請看 官網。

4.1 Index

官網API:??https://www.elastic.co/guide/en/elasticsearch/reference/current/docs-index_.html??

4.1.1 創建索引

可以先建索引,再設置 mapping,也可以直接一次完成。
一次建好
PUT goods{
 "mappings": {
 "properties": {
 "brand": {
 "type": "keyword"
 },
 "category": {
 "type": "keyword"
 },
 "num": {
 "type": "integer"
 },
 "price": {
 "type": "double"
 },
 "title": {
 "type": "text",
 "analyzer": "ik_smart"
 },
 "id": {
 "type": "long"
 }
 }
 }
}

分享到:
標簽:Elasticsearch
用戶無頭像

網友整理

注冊時間:

網站:5 個   小程序:0 個  文章:12 篇

  • 51998

    網站

  • 12

    小程序

  • 1030137

    文章

  • 747

    會員

趕快注冊賬號,推廣您的網站吧!
最新入駐小程序

數獨大挑戰2018-06-03

數獨一種數學游戲,玩家需要根據9

答題星2018-06-03

您可以通過答題星輕松地創建試卷

全階人生考試2018-06-03

各種考試題,題庫,初中,高中,大學四六

運動步數有氧達人2018-06-03

記錄運動步數,積累氧氣值。還可偷

每日養生app2018-06-03

每日養生,天天健康

體育訓練成績評定2018-06-03

通用課目體育訓練成績評定