검색 결과가 뚜렷한 문제를 해결하려고합니다.Elasticsearch에서 고유 한 값을 반환하십시오.
{
"name" : "ABC",
"favorite_cars" : [ "ferrari","toyota" ]
}, {
"name" : "ABC",
"favorite_cars" : [ "ferrari","toyota" ]
}, {
"name" : "GEORGE",
"favorite_cars" : [ "honda","Hyundae" ]
}
내가 좋아하는 자동차의 용어 쿼리 " 페라리"를 수행합니다. 나는 ABC 인 두 개의 결과를 얻습니다. 간단히 말해서 반환 된 결과가이 경우 하나가되어야합니다. 따라서 하나의 1 개의 결과를 받기 위해 이름 필드에 별명을 적용 할 수 있다면 내 요구 사항이 적용됩니다. 당신은거야
{
"size": 0,
"query": {
"term": {
"favorite_cars": "ferrari"
}
},
"aggs": {
"names": {
"terms": {
"field": "name"
},
"aggs": {
"single_result": {
"top_hits": {
"size": 1
}
}
}
}
}
}
그 방법 : 당신이 원하는 것을 달성하기 위해
감사
제가 아는 한, 당신은 이것을 할 수 없습니다. 당신이 할 수있는 대부분은 용어 집계를 사용하여 그것들을 세는 것입니다. 필자의 경우, 자바 세트를 사용한 후에 자바 스크립트를 제거해야한다. 방법을 찾으면 알려주세요. – Yeikel
@Yeikel Val에서 제공하는 솔루션이 유용합니다. 그것은 당신에게 도움이됩니까? –