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” }} 
          ] 
        } 
      } 
    }
原文地址:https://www.cnblogs.com/tylf-lk/p/10133469.html