日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

使用kibana或postman操作Elasticsearch的常用命令

發布時間:2025/3/11 编程问答 30 豆豆
生活随笔 收集整理的這篇文章主要介紹了 使用kibana或postman操作Elasticsearch的常用命令 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

前言
服務器:CentOS-6.7

運行系統:windows10

JDK版本:1.8

Elasticsearch版本:5.6.6

插件:kibana、elasticsearch-head

工具:postman

一、集群
查看集群是否健康

GET /_cluster/health
二、節點
查看節點列表
后面加了 ?v?可以把表頭給顯示出來

GET /_cat/nodes?v


三、索引
1 查詢索引
1.1?查詢所有索引
GET /_cat/indices?v
1.2?查詢單個索引的映射
GET /test_index/_mapping
2. 添加一個索引(通過mapping)
PUT /people
{
? "settings": {
? ? "number_of_shards": 3,
? ? "number_of_replicas": 1
? },
? "mappings": {
? ? "man": {
? ? ? "dynamic": "strict",
? ? ? "properties": {
? ? ? ? "name": {
? ? ? ? ? "type": "text"
? ? ? ? },
? ? ? ? "age": {
? ? ? ? ? "type": "integer"
? ? ? ? },
? ? ? ? "birthday": {
? ? ? ? ? "type": "date",
? ? ? ? ? "format": "yyyy-MM-dd HH:mm:ss||yyyy-MM-dd||epoch_millis"
? ? ? ? },
? ? ? ? "address":{
? ? ? ? ? "dynamic": "true",
? ? ? ? ? "type": "object"
? ? ? ? }
? ? ? }
? ? }
? }
}
"dynamic": "strict"? 表示如果遇到陌生field會報錯

"dynamic": "true"? ?表示如果遇到陌生字段,就進行dynamic mapping

"dynamic": "false"? ?表示如果遇到陌生字段,就忽略

3.?刪除索引
3.1 刪除一個索引
DELETE /people
3.2 刪除多個索引
DELETE /index_one,index_two
4.?添加字段映射
PUT /people/_mapping/man
{
"properties": {
"tags":{
"type": "text"
}
}
}
5.?索引的別名
5.1?創建索引的別名

PUT /test_index/_alias/test
5.2 查詢索引的別名

GET /test_index/_alias/*
5.3?查詢別名指向哪一個索引

GET /*/_alias/test
四、文檔
1. 增加文檔
1.1 自定義ID
可以自動創建索引、類型,自己定義一個id

PUT /people/man/1
{
"name": "葉良辰",
"country": "china",
"age": 25,
"birthday": "1993-01-01",
"desc": "葉良辰,本地人,狂妄自大,惹了他,會有一百種方法讓你呆不下去!與趙日天是好基友,兩個人風風火火闖九州"
}
1.2?隨機生成ID
可以自動創建索引、類型,自動創建一個id

POST /people/man
{
"name": "葉良辰",
"country": "china",
"age": 25,
"birthday": "1993-01-01",
"desc": "葉良辰,本地人,狂妄自大,惹了他,會有一百種方法讓你待不下去!與趙日天是好基友,兩個人風風火火闖九州"
}
2. 修改文檔
2.1全文修改
全文修改使用的是PUT命令,把所有字段都帶上

PUT /people/man/1
{
"name": "葉良辰",
"country": "china",
"age": 25,
"birthday": "1993-01-01",
"desc": "葉良辰,本地人,狂妄自大,惹了他,會有一百種方法讓你呆不下去!與趙日天是好基友,兩個人風風火火闖九州"
}
2.2部分修改(partial?update)
使用POST命令,里面使用doc修改某個字段值

POST /people/man/1/_update
{
? "doc": {
? ? "name": "zhangsan"
? }
}
2.3 通過腳本直接修改
POST /people/man/1/_update
{
"script": "ctx._source.age += 10"
}
或者

POST /people/man/1/_update
{
? "script": {
? ? "lang": "painless",
? ? "source": "ctx._source.age += 10"
? }
}
2.4 通過腳本的參數方式
POST /people/man/1/_update
{
? "script": {
? ? "lang": "painless",
? ? "source": "ctx._source.age = params.age",
? ? "params": {
? ? ? "age": 100
? ? }
? }
}
2.5?通過groovy腳本文件方式
首先在%ES_HOME%/config/scripts文件夾下面新建一個groovy文件,取名add-age.groovy

?

編輯文件,添加下列內容

ctx._source.age += param.num

執行下面的命令

POST /people/man/1/_update
{
"script": {
"lang": "groovy",
"file": "add-age",
"params": {
"num": 15
}
}
}
2.6?文檔不存在時的修改(upsert)
在修改document的時候,如果該文檔不存在,則使用upsert操作進行初始化

POST people/man/1/_update
{
"script": "ctx._source.age += 10",
"upsert": {
"age": 20
}
}
雖然用了+=,但是,上面的結果卻是20,因為文檔不存在,只是進行了初始化!

3. 刪除文檔
3.1 刪除單個文檔
DELETE /people/man/1
3.2?刪除type下的所有文檔
POST /people/man/_delete_by_query?conflicts=proceed
{
"query": {
"match_all": {}
}
}
4.查詢文檔
下面列舉一些簡單的查詢,更高級的查詢在第五部分做介紹

4.1?查詢單個文檔
GET /people/man/2
4.2?使用_mget批量查詢文檔
GET /_mget
{
"docs": [
{
"_index": "people",
"_type": "man",
"_id": 1
},
{
"_index": "people",
"_type": "man",
"_id": 2
}
]
}
index和type相同的時候,可以合并到一起:

GET /people/man/_mget
{
"docs": [
{
"_id": 1
},
{
"_id": 2
}
]
}
4.3?查詢所有文檔
方式一(簡單查詢):
GET /people/_search
方式二:
POST /people/_search
{
? "query": {
? ? "match_all": {}
? }
}
4.4?查詢出某些字段內容
后面跟了 ?_source=field1,field2

GET people/man/_search?_source=name,country
{
"query": {
"match": {
"age": "25"
}
}
}
4.5?查詢多個索引下的多個type
GET /index1,index2/type1,type2/_search
查詢所有索引下的部分type

GET /_all/type1,type2/_search
4.6 模糊查詢(全文搜索)
注意:下面的“葉良辰”會被拆分成:葉、良、辰,只要name里面包含這三個字的任意一個,都會被查詢到!

另外,中英文搜索會不一樣,中文是以一個漢字為單位,

英文默認以一個單詞為單位進行拆分

POST /people/_search
{
? "query": {
? ? "match": {
? ? ? "name": "葉良辰"
? ? }
? },
? "sort": [
? ? {
? ? ? "birthday": {
? ? ? ? "order": "desc"
? ? ? }
? ? }
? ]
}


4.7?全文搜索的精準度
4.7.1 搜索結果中必須包括run、jump兩種愛好

GET people/_search
{
"query": {
"match": {
"hobby": {
"query": "run jump",
"operator": "and"
}
}
}
}
4.7.2?使用百分比,搜索結果中必須包括6個愛好中的一半,也就是3個

GET people/_search
{
"query": {
"match": {
"hobby": {
"query": "run jump basketball football piano pingpang",
"minimum_should_match": "50%"
}
}
}
}
4.7.3?使用數量,搜索結果中必須包括3個愛好

GET people/_search
{
"query": {
"bool": {
"should": [
{"match": {
"hobby": "basketball"
}},
{"match": {
"hobby": "pingpang"
}},
{"match": {
"hobby": "piano"
}},
{"match": {
"hobby": "run"
}}
],
"minimum_should_match": 3
}
}
}


五、高級查詢
由于內容比較多,篇幅比較大,這里把文章分為兩部分,本文是簡單的增刪改查
————————————————
版權聲明:本文為CSDN博主「前方一片光明」的原創文章,遵循 CC 4.0 BY-SA 版權協議,轉載請附上原文出處鏈接及本聲明。
原文鏈接:https://blog.csdn.net/qq_26230421/article/details/80366649

轉載于:https://www.cnblogs.com/zeenzhou/p/11588505.html

創作挑戰賽新人創作獎勵來咯,堅持創作打卡瓜分現金大獎

總結

以上是生活随笔為你收集整理的使用kibana或postman操作Elasticsearch的常用命令的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。