zoukankan      html  css  js  c++  java
  • Elasticsearch 索引与文档的常用操作总结一

    本文为博主原创,未经允许不得转载:

    ES 的 Restful风格:

       Restful是一种面向资源的架构风格,可以简单理解为:使用URL定位资源,用HTTP动词(GET,POST,DELETE,PUT)描述操作。 基于Restful API ES和所有客户端的交互都是使用JSON格式的数据。

        GET查询

        PUT添加

        POST修改

        DELE删除

    1.索引常用操作:

      1. 创建索引:

      格式: PUT /索引名称

    PUT /es_db

      2. 查询索引

      格式: GET /索引名称

    GET /es_db

      3.  删除索引

      格式: DELETE /索引名称
    DELETE /es_db

    2.文档操作:

      2.1 添加

      格式: PUT /索引名称/类型/id

    PUT /es_db/_doc/1 
     { 
        "name": "张三", 
        "sex": 1, 
        "age": 25, 
        "address": "广州天河公园",
        "remark": "java developer" 
     }

      2.2 修改

      格式: PUT /索引名称/类型/id

    PUT /es_db/_doc/1 
     { 
        "name": "李四", 
        "sex": 1, 
        "age": 25, 
        "address": "玄武湖公园",
        "remark": "java developer" 
     }

      2.3 查询

      格式: GET /索引名称/类型/id

    GET /es_db/_doc/1

      2.4 删除

      格式: DELETE /索引名称/类型/id

    DELETE /es_db/_doc/1

    3.查询操作

      3.1 查询当前索引类型的所有文档:_search

        格式: GET /索引名称/类型/_search
    GET /es_db/_doc/_search

      3.2 条件查询: _search?q=filed:value

      格式: GET /索引名称/类型/_search?q=filed:value
    # 查询age 为28 的文档
    GET /es_db/_doc/_search?q=age:28  

      3.3 范围查询:  _search?q=filed[start-value TO end-value]

      格式: GET /索引名称/类型/_search?q=***[25 TO 26]  。。。。

      TO 必须为大写
    # 查询age在25至26岁之间的
    GET /es_db/_doc/_search?q=age[25 TO 26]

      3.4 根据多个ID进行批量查询 _mget

      格式: GET /索引名称/类型/_mget

    # 查询id 为1和2的文档
    GET /es_db/_doc/_mget 
     { 
     "ids":["1","2"] 
     }

      3.5 小于等于查询:  :<=

       格式: GET /索引名称/类型/_search?q=filed:<=value

    # 查询age 小于等于28 的文档
    GET /es_db/_doc/_search?q=age:<=28

      3.6 大于等于查询:  :>=

       格式: GET /索引名称/类型/_search?q=filed:>=value

    # 查询age 小于等于28 的文档
    GET /es_db/_doc/_search?q=age:>=28

      3.7 分页查询: from=pageNo&size=pageSize

      格式: GET /索引名称/类型/_search?q=age[25 TO 26]&from=0&size=1

    # 查询age 在25到26之间的文档数据分页,从0开始,pageSize 为1
    GET /es_db/_doc/_search?q=age[25 TO 26]&from=0&size=1

      3.8 对查询结果只输出某些字段 _source=字段,字段

      格式: GET /索引名称/类型/_search?_source=字段,字段

    # 查询显示 name 与age 文档数据
    GET /es_db/_doc/_search?_source=name,age

      3.9 对查询结果排序 sort=字段:desc/asc

      格式: GET /索引名称/类型/_search?sort=字段 desc
    # 查询es_db 中的数据并进行age 降序排序
    GET /es_db/_doc/_search?sort=age:desc
  • 相关阅读:
    ASP.NET MVC学习之模型绑定(2)
    ASP.NET MVC学习之模型绑定(1)
    ASP.NET MVC学习之模型模板篇
    ASP.NET MVC学习之视图篇(2)
    ASP.NET MVC学习之视图篇(1)
    C++迭代器的使用和操作总结
    C++ 11 线程调用类的成员函数解决办法
    详解 C++11 lambda表达式
    C++11 学习笔记 std::function和bind绑定器
    C++11中的std::bind
  • 原文地址:https://www.cnblogs.com/zjdxr-up/p/15369892.html
Copyright © 2011-2022 走看看