Elasticsearch: 查询

# 指定 _id 查询
get wares/_doc/1

# 查询所有
get wares/_search
{
  "query":{
    "match_all": {}
  }
}

# 指定 term
get wares/_search
{
  "query":{
    "term":{
      "description":{
        "value": "日本"
      }
    }
  }
}

# 指定 range
get wares/_search
{
  "query":{
    "range":{
      "id":{
        "gte":0,
        "lte":2
      }
    }
  }
}

# 指定 prefix
get wares/_search
{
  "query":{
    "prefix":{
      "title": {
        "value": ""
      }
    }
  }
}

# 通配查询 wildcard (* ?)
get wares/_search
{
  "query":{
    "wildcard": {
      "title": {
        "value": "小??"
      }
    }
  }
}

# 多 _id 查询 multiple _id
get wares/_search
{
  "query":{
    "ids":{
      "values": [1,2,3]
    }
  }
}

# 模糊查询 fuzzy search
get wares/_search
{
  "query":{
    "fuzzy":{
      "title": "小浣毛发"
    }
  }
}

keyword<3 no fuzzy
2<keyword<6 one fuzzy
keyword>5 two fuzzy


# 多条件组合 must == &&, should == ||, must_not == !
GET wares/_search
{
  "query":{
    "bool":{
      "must":[
        {
          "ids":{
            "values": [1,2,3]
          }
        },
        {
          "prefix":{
            "title":{
              "value": ""
            }
          }
        }
      ]
    }
  }
}

# multi_match  ① 字段类型分词: 将查询条件query分词之后查询 ② 字段类型不分词: query整体进行查询
get wares/_search
{
  "query":{
    "multi_match": {
      "query": "",
      "fields": ["description","title"]
    }
  }
}

# 默认字段分词查询 query_string ① 查询字段分词: 查询条件分词后查询 ② 查询字段不分词: 查询条件不分词查询
get wares/_search
{
  "query":{
    "query_string": {
      "default_field": "description",
      "query": "小浣吗"
    }
  }
}

# 高亮查询 highlight
get wares/_search
{
  "query":{
    "term":{
      "description": {
        "value": ""
      }
    }
  },
  "highlight":{
    "pre_tags": ["<span style='color:red;'>"],
    "post_tags": ["</span>"],
    "require_field_match": false,
    "fields": {
      "*":{}
    }
  }
}

# 返回指定条数 size default=10
get wares/_search
{
  "query":{
    "match_all": {}
  },
  "size": 3
}

# Pagination from 分页
get wares/_search
{
  "query":{
    "match_all": {}
  },
  "size": 3,
  "from": 5
}

# 排序 sort
get wares/_search
{
  "query":{
    "match_all": {}
  },
  "sort":[
    {
      "price": {
        "order": "desc"
      }
    }
  ]
}

# 返回指定字段 _source
get wares/_search
{
  "query":{
    "match_all": {}
  },
  "sort":[
    {
      "price": {
        "order": "desc"
      }
    }
  ],
  "_source":["id","title"]
}

 

posted @ 2022-03-20 19:01  ascertain  阅读(38)  评论(0编辑  收藏  举报