• elk 之elasticsearch 部分参数参考(1)


    elk 之elasticsearch部分参数参考

    路径及方式 value
    GET / _cat / health?v 健康检查
    GET / _cat / nodes?v 获取节点列表
    GET / _cat / indices?v 获取索引列表
    PUT /customer?pretty 创建名为 customer的索引

    为文档添加内容使用postman时注意body,json格式

    PUT /customer/_doc/1?pretty
    { "name": "John Doe"}
    
    路径及方式 value
    GET /customer/_doc/1?pretty 查询索引名称为customer的_doc文档内容
    DELETE /customer?pretty 删除索引
    POST /customer/_doc/1/_update?pretty 更新文档
    DELETE /customer/_doc/2?pretty 删除文档

    此示例显示如何通过将名称字段更改为“Jane Doe”来更新我们以前的文档(ID为1),同时向其添加年龄字段:

    POST / customer / _doc / 1 / _update?pretty 
    { 
      “doc”:{“name”:“Jane Doe”,“age”:20} 
    }
    

    也可以使用简单脚本执行更新。此示例使用脚本将年龄增加5:

    POST / customer / _doc / 1 / _update?pretty 
    { 
      “script”:“ctx._source.age + = 5” 
    }
    

    在上面的示例中,ctx._source指的是即将更新的当前源文档。

    Elasticsearch提供了在给定查询条件(如SQL UPDATE-WHERE语句)的情况下更新多个文档的功能。请参阅docs-update-by-query api
    批处理:
    在一个批量操作中索引两个文档(ID1-john doe和id2-jane doe):

    POST /customer/_doc/_bulk?pretty
    {"index":{"_id":"1"}}
    {"name": "John Doe" }
    {"index":{"_id":"2"}}
    {"name": "Jane Doe" }
    

    此示例更新第一个文档(ID为1),然后在一个批量操作中删除第二个文档(ID为2):

    POST /customer/_doc/_bulk?pretty
    {"update":{"_id":"1"}}
    {"doc": { "name": "John Doe becomes Jane Doe" } }
    {"delete":{"_id":"2"}}
    

    注:删除只需要删除id即可
    加载模板数据

    curl -H "Content-Type: application/json" -XPOST "localhost:9200/bank/_doc/_bulk?pretty&refresh" --data-binary "@accounts.json"
    curl "localhost:9200/_cat/indices?v"
    

    search api:
    在bank索引中搜索,q=*参数指示Elasticsearch匹配索引中的所有文档,sort=account_number:asc参数表示使用account_number每个文档的字段以升序对结果进行排序,pretty表示返回json结果

    GET / bank / _search?q = *&sort = account_number:asc&pretty
    

    与上面完全相同的结果

       GET /bank/_search
        {
          "query": { "match_all": {} },
          "sort": [
            { "account_number": "asc" }
          ]
        }
    
    结果值 意义
    took Elasticsearch执行搜索的时间(以毫秒为单位)
    timed_out 搜索是否超时
    _shards 告诉我们搜索了多少个分片,以及搜索成功/失败分片的计数
    hits 搜索结果
    hits.total 符合我们搜索条件的文档总数
    hits.hits 实际的搜索结果数组(默认为前10个文档)
    hits.sort 对结果进行排序键(如果按分数排序则丢失)
    hits._score和max_score 暂时忽略这些字段

    查询语句

    GET /bank/_search
    {
      "query": { "match_all": {} },
      "from": 10,
      "size": 1
      "sort":{“balance”:{“order”:“desc”}}
      "_source":{"account_number","balance"}
    }
    

    query为查询定义 ,match_all(查询类型)在指定索引的所有文件搜索,size默认为10(文件数量),from起始位置(默认为0),sort对balance(非系统字段,此字段根据自己实际情况自行使用)进行降序排序(默认大小10个文档),_source是简化了的_source字段。它将只返回一个包含account_number和balance在内_sourced字段
    返回编号为20的账号:

    GET / bank / _search
    {
      “query”:{“match”:{“account_number”:20}}
    }
    

    返回地址中包含“mill”的所有账号:

    GET / bank / _search
    {
      “query”:{“match”:{“address”:“mill”}}
    }
    

    返回地址中包含“mill”或“lane”的所有账号:

    GET / bank / _search
    {
      “query”:{“match”:{“address”:“mill lane”}}
    }
    

    bool使用布尔逻辑将较小的查询组成两个match并返回“mill”和“lane”的所有账号:
    bool must子句指定必须为true才能将文档视为匹配的所有查询,must_not则是取不包含两个关键字的账号

    GET / bank / _search 
        { 
          “query”:{ 
            “bool”:{ 
              “must”:[ 
                {“match”:{“address”:“mill”}},
                {“match”:{“address”:“lane” }} 
              ] 
            } 
          } 
        }
    
  • 相关阅读:
    Docker最全教程之使用Tencent Hub来完成CI(九)
    程序员十大热门flag,有你的吗?
    互联网寒冬,阿里Ant Design还开坑,程序员该何去何从?
    Docker最全教程——从理论到实战(八)
    开源库Magicodes.Storage正式发布
    Docker最全教程——从理论到实战(七)
    开源库支付库Magicodes.Pay发布
    产品经理如何避免被程序员打?
    Docker最全教程——从理论到实战(六)
    如何解决input file 选取相同文件后,change事件不起作用解决方法
  • 原文地址:https://www.cnblogs.com/tylf-lk/p/10133469.html
Copyright © 2020-2023  润新知