Elasticsearch入坑指南之RESTful API
Tags:Elasticsearch
ES為開發者提供了非常豐富的基於Http協議的Rest API,通過簡單的Rest請求,就可以實現非常強大的功能
常用RESTful API介紹
- 查詢集群健康信息
http://10.100.172.116:9200/_cat/health?v
#通過下面的請求可以查看返回結果各字段的意義:
http://10.100.172.116:9200/_cat/health?help
- 查看集群中節點信息
http://10.100.172.116:9200/_cat/nodes?v
- 查看集群中索引信息
http://10.100.172.116:9200/_cat/indices?v
- 創建索引
curl -XPUT "http://10.100.172.116:9200/indexname"
該指令使用默認的配置創建了一個索引,也可以通過指定相關配置信息來創建索引,參考下面的指令
curl -XPUT "http://10.100.172.116:9200/indexname" -d ' # 注意這里的'號
{
"settings": {
"index": {
"number_of_replicas": "1", #副本集數量
"number_of_shards": "5", #分片數量
"analysis": {
"analyzer": {
"default": { #定義名字為default的分詞器
"type": "custom",
"tokenizer": "ik_max_word", #使用ik_max_word分詞
"filter": ["stemmer"]
}
}
}
}
},
"mappings": {
"typename": { #類型名稱
"properties": {
"name": {
"type": "text",
"store": false,
"analyzer": "default", #使用default分詞
"search_analyzer": "default",
"boost": 1 #定義文檔中該字段的重要性,越高越重要
},
"date": {
"type": "date",
"format": "yyyy-MM-dd" #格式化時間格式
},
"age": {
"type": "integer"
},
"innertypename": { #內聯類型名稱
"properties": {
"address": {
"index": false,
"type": "keyword" #keyword不分詞,保存完整的數據到倒排索引中
}
}
}
}
}
}
}
'
# index 有三個索引值:
analyzed
首先分析字符串,然后索引它。換句話說,以全文索引這個域。
not_analyzed
索引這個域,所以它能夠被搜索,但索引的是精確值。不會對它進行分析
no
不索引這個域。這個域不會被搜索到。
- 刪除索引
curl -XDELETE "http://10.100.172.116:9200/indexname"
- 查看索引信息
curl -XGET "http://10.100.172.116:9200/indexname?pretty"
- 創建索引Mapping信息
curl -XPUT 'http://10.100.172.116:9200/indexname/_mapping/typename' -d '
{
"test_type": { # 注意,這里的test_type與url上的test_type名保存一致
"properties": {
"name": {
"type": "string",
"index": false
},
"age": {
"type": "integer"
}
}
}
}'
- 刪除索引Mapping信息
curl -XDELETE 'http://10.100.172.116:9200/indexname/_mapping/typename'
- 查看索引mMapping信息
curl -XGET "http://10.100.172.116:9200/indexname/_mapping/typename?pretty"