ES 查询 -- 记录操作持续更新


# 创建索引 PUT /phone?pretty # 查询索引 展示所有索引信息 以及健康状态 GET _cat/indices #删除索引 DELETE /phone # 信息查询 GET /phone/_search # 更新 POST /phone/_doc/1/_update { "doc": { "price": 6999 } } # 插入数据 POST /phone/_doc/1 { "name":"iphone", "desc":"quan shi jie zui hao de shou ji", "price":5299, "tags":["IOS","Apple","Siri"] } POST /phone/_doc/2 { "name":"Samsung", "desc":"anzhuo jihuang", "price":49999, "tags":["Android","NFC","fangshui"] } POST /phone/_doc/3 { "name":"XiaoMi", "desc":"anzhuo jihuang", "price":1999, "tags":["Android","NFC","fangshui","xingjiabi"] } POST /phone/_doc/4 { "name":"HuaWei", "desc":"anzhuo jihuang", "price":7999, "tags":["Android","NFC","fangshui","aiguo"] } # 分页查询 以及 排序 GET /phone/_search?from=0&size=2&sort=price:desc # Query DSL # match All 匹配所有 GET /phone/_search { "query": { "match_all": {} } } # match 条件匹配 匹配名字带Iphone GET /phone/_search { "query": { "match": { "name": "Iphone" } } } # sort 排序 GET /phone/_search { "query":{ "match": { "tags": "android" } }, "sort": [ { "price": "desc" } ] } # 指定列查询 GET /phone/_search { "query": { "multi_match": { "query": "Samsung", "fields": ["name"] } } } # 查询指定列 GET /phone/_search { "query": { "match": { "name": "iphone" } },"_source": ["name"] } # 分页 页数太多会产生深查询问题 GET /phone/_search { "query": { "match": { "desc": "jihuang NFC" } },"from": 0,"size": 2 } # term 查询 对value并没有进行分词 所以查不出来数据 GET /phone/_search { "query": { "term": { "desc": { "value": "jihuang NFC" } } } } # match_phrase 查询条件进行短语查询 不分词 GET /phone/_search { "query": { "match_phrase": { "desc": "jihuang NFC" } } } # must filter should must_not minimum_shouuld_match GET /phone/_search { "query": { "bool": { "must": [ { "match": { "desc": "jihuang" } },{ "match": { "tags": "xingjiabi" } } ] } } } # filter 查询 条件过滤查询 不计算相关分数 并且带有缓存 GET /phone/_search { "query": { "bool": { "filter": [ { "range": { "price": { "gte": 10000 } } } ] } } }
# should 相当于SQL中的 or
GET /phone/_search
{
  "query": {
    "bool": {
      "must": [
        {"match": {
          "name": "iphone"
        }}
      ], 
      "should": [
        {
          "match": {
            "desc": "anzhuo"
          }
        }
      ]
    }
  }
}
# must_noe 必须不满足筛选条件 并且不计算相关度
GET /phone/_search
{
  "query": {
    "bool": {
      "must_not": [
        {
          "match": {
            "name": "iphone"
          }
        }
      ]
    }
  }
}

  

原文地址:https://www.cnblogs.com/Tonyzczc/p/14604939.html