zoukankan      html  css  js  c++  java
  • ElasticSearch的基本API

    ElasticSearch的基本API

    索引

    创建空索引

    put  /index_name
    {
        "settings" : {
            "number_of_shards" : 3,
            "number_of_replicas" : 1
        }
    }
    

    创建一个索引名为index_name的空索引,并且设置3个主分片,一个备份分片。

    获取索引

    GET /index_name
    

    获取index_name的索引信息,支持通配符搜索

    删除索引

    DELETE /index_name
    

    删除名称为index_name的索引。

    DELETE /index_name1, index_name2
    

    删除多个索引

    DELETE /_all
    

    删除所有的索引。

    修改索引设置

    PUT /index_name/_setting
    {
        "number_of_replicas": 1
    }
    

    修改index_name的索引,设置备份分片为1

    打开或关闭索引

    POST /index_name/_close
    {
    }
    

    关闭索引,搜索时只能显示元数据不能显示具体的数据

    POST /index_name/_open
    {
    }
    

    开启索引,可以搜索的具体的数据

    索引别名

    POST /
    {
    "actions" : [
    { "remove" : { "index" : "index_name", "alias" : "alias1" } },
    { "add" : { "index" : "index_name", "alias" : "alias2" } }
    ]
    }
    remove用于删除别名,add用于添加别名,可以先使用remove然后使用add用于修改指定索引的别名。

    文档

    插入数据

    PUT  /index_name/type_name/doc_id
    {
         "key1": "value1",
         "key2": "value2",
         "key3": "value3"
         ......
    }
    

    指定文档id进行上传

    POST  /index_name/type_name/
    {
         "key1": "value1",
         "key2": "value2",
         "key3": "value3"
         ......
    }
    

    不指定文档id上传,系统会生成一个唯一的文档id

    修改文档

    文档在ElasticSearch中是不可变,修改文档的逻辑是新建一个文档覆盖旧文档。

    PUT  /index_name/type_name/doc_id
    {
         "key11": "value11",
         "key22": "value22",
         "key33": "value33"
    }
    

    响应中_version字段会加一。

    删除文档

    DELETE  /index_name/type_name/doc_id
    

    删除指定id的文档

    查询

    空搜索

    GET /_search
    

    没有指定任何查询条件,只返回索引中的所有文档

    多索引搜索

    GET /index_1,index_2/_search
    

    在index index_1和index_2中搜索

    GET /index_name/type_name/doc_id/_source
    

    只获取指定id的source内容,会忽略元信息

    GET /index_1,index_2/type_1,type_2/_search
    

    在indexindex_1和index_2中搜索类型type_1和type_2

    POST  /_mget
    {
      "docs" : [
                {"_index" : "index_name1","_type" : "type_name1","_id" : "doc_id1"},
                {"_index" : "index_name2","_type":"type_name2","_id" :"doc_id2"}
          ]
    }
    

    分页

    GET  /_search?size=5&from=5
    

    使用size和from进行分页

    简易搜索

    将搜索条件在查询字符串中,如:

    GET /_all/index_name/_search?q=filed_name:field_value
    

    搜索所有索引中类型为index_name索引中filed_name中包含filed_value的文档。

  • 相关阅读:
    Windows莫名内存到百分之百,需要修改虚拟内存
    idea中的springboot的maven项目报错Failed to clean project: Failed to delete D: ew_shunyishunyi argetshunyiWEB-INFclassesstatic
    VMware 启动虚拟机黑屏(Ubuntu)
    MySQL 8.0.18安装教程(windows 64位)
    ubunt中,使用命令su命令切换root账户,提示认证失败
    AngularJS 杂项知识点
    AngularJS $watch 性能杀手
    AngularJS controller as vm方式
    AngularJS 路由 resolve属性
    AngularJS $observe $watch
  • 原文地址:https://www.cnblogs.com/abel-huang/p/8290593.html
Copyright © 2011-2022 走看看