天天看點

分布式搜尋引擎elasticsearch1.初識elasticsearch2.正向索引和反向索引3.elasticsearch中一些術語的概念4.常見的mapping屬性5.索引庫操作

1.初識elasticsearch

elasticsearch是一款非常強大的開源搜尋引擎,可以幫助我們從海量資料中快速找到需要的内容。

elasticsearch結合kibana、Logstash、Beats,也就是elastic stack(ELK)。被廣泛應用在日志資料分析、實時監控等領域。

分布式搜尋引擎elasticsearch1.初識elasticsearch2.正向索引和反向索引3.elasticsearch中一些術語的概念4.常見的mapping屬性5.索引庫操作

其中,elasticsearch是elastic stack的核心,負責存儲、搜尋、分析資料。elasticsearch是基于Lucene開發的,而Lucene是Apache的開源搜尋引擎類庫,提供了搜尋引擎的核心API。

2.正向索引和反向索引

傳統的資料庫(如Mysql)采用的是正向索引,即資料庫是基于資料的id建立的索引,在查詢詞條時就必須先找到每一條資料,判斷其中是否包含對應的詞條。資料庫一般負責事務類型操作,可以確定資料的安全和一緻性。

elasticsearch采用的是反向索引,即索引庫是先對文檔内容(資料)進行分詞,對分出的詞條建立索引(把每個詞條當做資料庫中的id),并記錄該詞條所在的文檔id(與資料庫對應)。在查詢時先根據詞條查詢到文檔id,而後擷取文檔。elasticsearch擅長海量資料的搜尋、分析、計算。

3.elasticsearch中一些術語的概念

索引(index):相同類型的文檔的集合

映射(mapping):索引中文檔的字段限制資訊,類似于資料庫中資料表的結構限制。

DSL:DSL是elasticsearch提供的JSON風格的請求語句,用來操作elasticsearch,實作增删改查。

4.常見的mapping屬性

mapping是對索引庫中文檔的限制,常見的mapping屬性包括:

type:字段資料類型,常見的簡單類型有:

字元串:text(可分詞的文本)、keyword(精确值,例如:品牌、國家、ip位址)

數值:long、integer、short、byte、double、float、

布爾:boolean

日期:date

對象:object

index:是否建立索引,預設為true

analyzer:使用哪種分詞器

properties:該字段的子字段

5.索引庫操作

1.建立索引庫

分布式搜尋引擎elasticsearch1.初識elasticsearch2.正向索引和反向索引3.elasticsearch中一些術語的概念4.常見的mapping屬性5.索引庫操作

2.檢視、删除索引庫

分布式搜尋引擎elasticsearch1.初識elasticsearch2.正向索引和反向索引3.elasticsearch中一些術語的概念4.常見的mapping屬性5.索引庫操作

![在這裡插入圖檔描述](https://img-blog.csdnimg.cn/1ed5bf8a25de4cc08e6223b7de2a3ff5.png

分布式搜尋引擎elasticsearch1.初識elasticsearch2.正向索引和反向索引3.elasticsearch中一些術語的概念4.常見的mapping屬性5.索引庫操作

3.修改索引庫

索引庫和mapping一旦建立無法修改,但是可以添加新的字段,文法如下:

分布式搜尋引擎elasticsearch1.初識elasticsearch2.正向索引和反向索引3.elasticsearch中一些術語的概念4.常見的mapping屬性5.索引庫操作

繼續閱讀