Elasticsearch基礎知識

1.介紹一下什麼是elasticsearch?
elasticserach是一個基於lucene構建的開源、分佈式、restful接口的全文搜索引擎。es還是一個分佈式文檔數據庫,其中每個字段均是被索引的數據且可被搜索。
​(1)​es能夠做什麼? 比如電商搜索商品,收集日誌等
​(2)es的歷史,shay是一個剛結婚不久的失業開發者,在他找工作過程中,爲了給妻子構建一個食譜的搜索引擎,他開始構建一個早期的lucene

2.什麼是全文搜索?
​計算機搜索程序通過掃描文章中的每一個詞,對每一個詞建立一個索引,指明該詞出在文章的次數和位置(倒排索引)。

3.什麼是倒排索引?
舉個例子,假設有倆篇文章
文章1 : tom lives in beijing,i live in guangzhou too。
文章2 : he once lived in shanghai
關鍵詞 文章號
guangzhou 1
he ​ ​2
i ​ ​ 1
live ​ ​1,2
shanghai ​1
tom ​ 1
個人理解:正常情況下 你使用的關係型數據庫,你會根據id查詢某個屬性值,倒排呢? 倒排就是你根據屬性值查找id,當然它並不是1對1的關係,我們還要知道字符位置,關鍵詞位置,例如我們平時搜索問題 當搜索關鍵詞的時候,搜索引擎會通常對關鍵詞做特殊的顯示。

4.索引的crud(先了解之後深入)
如何操作es?
首先我們下載es與Kibana
下載地址:https://www.elastic.co/cn/downloads/
解壓jar包文件,然後進入es的bin目錄啓動即可,特點開箱即用
啓動之後我們會看下如下圖所示,表示啓動成功

在這裏插入圖片描述

在這裏插入圖片描述
在這裏插入圖片描述
檢查一下集羣健康狀態
在這裏插入圖片描述

在這裏插入圖片描述

創建索引(es會自動建立index和type,不需要提前創建,es會默認對每個document每個field都建立倒排索引,讓其可以搜索)

創建索引腳本
PUT /shop/product/6
{
“name” : “heiren yagao”,
“desc” : “gaoxiao meibai”,
“price” : 25,
“producer” :“gaolujie producer”,
“tags”: [ “meibai”, “fangzhu” ]
}
在這裏插入圖片描述

查詢腳本
get /shop/product/6

在這裏插入圖片描述

刪除腳本
DELETE /shop/product/6

我們查詢一下看看數據是否還存在?

修改腳本注意事項:必須帶上所有的field,才能去進行信息的修改
PUT /shop/product/6
{
“name” : “heiren yagao111”,
“desc” : “gaoxiao meibai”,
“price” : 25,
“producer” :“gaolujie producer”,
“tags”: [ “meibai”, “fangzhu” ]
}
在這裏插入圖片描述
更新之後的數據
在這裏插入圖片描述

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章