2016-07-26 2 views
0

나는 Elastic Search에서 필드를 정렬하고 숫자 위에 우선 순위가 높은 "_"기호를 설정해야합니다.탄성 검색이 필드를 정렬하는 방식을 어떻게 바꿀 수 있습니까?

"1" 
"2" 
"_3" 

나는 다음과 같이 분류한다 원하는 정렬 :

"_3" 
"1" 
"2" 

가 어떻게 이것을 달성 할 수

는 이제 다음과 같은 I가 있다고 가정 해 봅시다? 사전에

감사

+0

해당 필드 된' 문자열'올바른? –

+0

그리고 어떻게 '_3','_2','_5'에 대한 정렬을 원합니까? –

+0

@AndreiStefan이 경우 먼저 "_"다음 숫자입니다. _2, _3, _5 – Miguelme

답변

0

당신은 몇 가지 수는 가능성이 문서에서 유효한 것들로 추가 할 수 없음을 알고 있다면 나는 다음과 같은 것을 건의 할 것입니다 :

{ 
    "sort": { 
    "_script": { 
     "script": "if (doc['messageText'].value.startsWith('_')) return doc['messageText'].value.substring(1).toInteger()-1000000; return doc['messageText'].value.toInteger()", 
     "type": "number", 
     "order": "asc" 
    } 
    } 
} 
관련 문제