Elasticsearch7.15.2 基础概念和基础语法
生活随笔
收集整理的這篇文章主要介紹了
Elasticsearch7.15.2 基础概念和基础语法
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
文章目錄
- 一、基礎概念
- 1. ES是什么?
- 2. 名詞定義
- 3. 對應關系
- 4. 索引
- 5. 分詞
- 二、基礎概念
- 2.1. 索引創建
- 2.2. 索引/文檔刪除
- 2.3. 索引修改
- 三、ES 查詢
- 3.1. 簡單查詢
- 3.2. 分頁查詢
- 3.3. 復雜查詢
- 四、利用analyze api搜索
- 4.1. 索引創建
- 4.2. 索引查詢
- 4.3. 分詞結果
- 4.4. 索引重新創建
- 4.5. 索引查詢
一、基礎概念
1. ES是什么?
獨立的網絡上的一個或自足進程節點
對外提供搜索服務(http、transport協議)
對內就是一個搜索數據庫
2. 名詞定義
Elasticsearch也是基于Lucene的全文檢索庫,本質也是存儲數據,很多概念與MySQL類似的。
3. 對應關系
| Databases數據庫 | index索引值得是數據庫結構 |
| ?Row 行 | document文檔 |
| Column 列 | Field |
| Schema | Mapping |
| Index索引 | Ecerything indexed 所有的字段都可以來做索引 |
| SQL | Query DSL |
| SELECT * FROM table | GET http://… |
| UPDATE FROM table | PUT http:// … |
4. 索引
搜索中的數據庫或表定義
構建文檔時候的索引創建
5. 分詞
搜索十一分詞為單位做基本的搜索單元
依靠分詞器構建分詞
用分詞構建倒排索引
用戶搜索的時候,搜索對應的分詞器,分出的一個token之后,再和索引中存儲的分詞,找到我們想要的文檔。
二、基礎概念
2.1. 索引創建
- 非結構化方式
- 結構化方式
2.2. 索引/文檔刪除
# 刪除文檔 DELETE /employee/_doc/1# 刪除索引 DELETE /employee2.3. 索引修改
# 指定id全量修改索引 PUT /employee/_doc/1 {"name": "凱dsfsf32杰", "age":22 }# 指定id部分字斷修改 POST employee/_update/1 {"doc" : {"name" : "new_name"} }三、ES 查詢
3.1. 簡單查詢
# 查詢全部 GET /employee/_search# 根據主鍵id查詢索引 GET /employee/_doc/13.2. 分頁查詢
GET /employee/_search {"query":{"match_all": {}},"from":1,"size":1 }3.3. 復雜查詢
- 帶條件
- 帶排序
- 帶聚合
四、利用analyze api搜索
4.1. 索引創建
PUT /employee/_doc/1 {"name": "Eating an apple a day & keeps the doctor away", "age": 30 }4.2. 索引查詢
GET /employee/_search {"query":{"match": {"name":"eat"}} }4.3. 分詞結果
沒搜到后使用analyze api查看分析處理結果,可以看到沒有分出eat。
GET /employee/_analyze {"field":"name","text":"Eating an apple a day & keeps the doctor away" }可以看到沒有分出eat,所以搜不到,改成用english分詞器做
4.4. 索引重新創建
PUT /employee= {"settings" : {"number_of_shards" : 1,"number_of_replicas" : 1},"mappings" : {"properties" : {"name" : { "type" : "text","analyzer": "english"},"age" : {"type":"integer"}}} }4.5. 索引查詢
在用analyze api,可以看到eat
GET /employee/_analyze {"field":"name","text":"Eating an apple a day & keeps the doctor away" }總結
以上是生活随笔為你收集整理的Elasticsearch7.15.2 基础概念和基础语法的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: docker nacos mysql n
- 下一篇: docker artifactory-j