안녕하세요.
엘라스틱 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" },
}
}
}
}