배열 타입의 속성을 배열의 길이로 정렬하는 방법


(이광연) #1

안녕하세요.
엘라스틱 6.x 버전을 이용해서 개발하면서 정렬의 대한 문제가 있어서 질문드립니다.
배열 값이 들어가 있는 "meta_likecnt"의 배열 길이값으로 정렬된 값을 가져오는 방법을 찾아봤는데 아래와 같은 소스를 이용해서 정렬을 시도 해 보았으나 원하는 결과값이 나오지 않았습니다.

{ "sort": { "_script": { "script": "doc['meta_likecnt'].values.size()" } } }

아래는 현재 생성되어 있는 구조입니다. 어떤 부분에서 놓친거나 잘못된 부분이 있는지 알려주시면 감사합니다ㅠ

{
  "settings" : {
    "index":{
      "analysis":{
        "analyzer":{
          "korean":{
            "type":"custom",
            "tokenizer":"seunjeon_default_tokenizer"
          }
        },
        "tokenizer": {
          "seunjeon_default_tokenizer": {
            "type": "seunjeon_tokenizer"
          }
        }
      }
    }
  },
  "mappings": {
    "tb_meta": {
      "properties": {
        "meta_crtuser": { "type": "keyword" },
        "meta_crtdate": { "type": "keyword" },
        "meta_altdate": { "type": "date" },
        "meta_altuser": { "type": "keyword" },
"meta_title": { "type": "text", "analyzer": "korean" },
        "meta_description": { "type": "text", "analyzer": "korean" },
    		"meta_likecnt": { "type": "text" },
    		"meta_unlikecnt": { "type": "text" },
      }
    }
  }
}

(system) #2

This topic was automatically closed 28 days after the last reply. New replies are no longer allowed.