1. 程式人生 > 其它 >Elasticsearch: 查詢

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"] }