Elasticsearch入坑指南之RESTful API

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
    不索引這個域。這個域不會被搜索到。

分詞相關配置可參考官方地址
Mapping映射參數參考地址

  • 刪除索引
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"

文檔(Document)相關RESTful API介紹

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