1. 程式人生 > 實用技巧 >ES基礎(三十四)排序及Doc Values & Fielddata

ES基礎(三十四)排序及Doc Values & Fielddata

課程demo

#單欄位排序
POST /kibana_sample_data_ecommerce/_search
{
  "size": 5,
  "query": {
    "match_all": {

    }
  },
  "sort": [
    {"order_date": {"order": "desc"}}
  ]
}

#多欄位排序
POST /kibana_sample_data_ecommerce/_search
{
  "size": 5,
  "query": {
    "match_all": {

    }
  },
  
"sort": [ {"order_date": {"order": "desc"}}, {"_doc":{"order": "asc"}}, {"_score":{ "order": "desc"}} ] } GET kibana_sample_data_ecommerce/_mapping #對 text 欄位進行排序。預設會報錯,需開啟fielddata POST /kibana_sample_data_ecommerce/_search { "size": 5, "query": { "match_all": { } }, "sort": [ {
"customer_full_name": {"order": "desc"}} ] } #開啟 text的 fielddata PUT kibana_sample_data_ecommerce/_mapping { "properties": { "customer_full_name" : { "type" : "text", "fielddata": true, "fields" : { "keyword" : { "type" : "keyword",
"ignore_above" : 256 } } } } } #關閉 keyword的 doc values PUT test_keyword PUT test_keyword/_mapping { "properties": { "user_name":{ "type": "keyword", "doc_values":false } } } DELETE test_keyword PUT test_text PUT test_text/_mapping { "properties": { "intro":{ "type": "text", "doc_values":true } } } DELETE test_text DELETE temp_users PUT temp_users PUT temp_users/_mapping { "properties": { "name":{"type": "text","fielddata": true}, "desc":{"type": "text","fielddata": true} } } Post temp_users/_doc {"name":"Jack","desc":"Jack is a good boy!","age":10} #開啟fielddata 後,檢視 docvalue_fields資料 POST temp_users/_search { "docvalue_fields": [ "name","desc" ] } #檢視整型欄位的docvalues POST temp_users/_search { "docvalue_fields": [ "age" ] }