Mam przypadek użycia, w którym mam dane, takie jakPowrót wyjątkowe rezultaty w elasticsearch
{
name: "John",
parentid": "1234",
filter: {a: '1', b: '3', c: '4'}
},
{
name: "Tim",
parentid": "2222",
filter: {a: '2', b: '1', c: '4'}
},
{
name: "Mary",
parentid": "1234",
filter: {a: '1', b: '3', c: '5'}
},
{
name: "Tom",
parentid": "2222",
filter: {a: '1', b: '3', c: '1'}
}
oczekiwanych rezultatów:
bucket:[{
key: "2222",
hits: [{
name: "Tom" ...
},
{
name: "Tim" ...
}]
},
{
key: "1234",
hits: [{
name: "John" ...
},
{
name: "Mary" ...
}]
}]
chcę wrócić unikalny dokument parentid
. Mimo że mogę korzystać z agregacji najwyższego poziomu, ale nie mogę tego zrobić w paginacji. Ponieważ istnieje większa szansa, że parentid
będzie inna niż ta sama. Tak więc tablica kubełkowa byłaby duża i chcę pokazać wszystkie, ale przez ich paginację.
[Obsługa stronicowania dla agregacji] (https://github.com/elastic/elasticsearch/issues/4915) nie jest jeszcze zaimplementowana. Pokaż przykładową odpowiedź, którą chcesz uzyskać, może masz inny sposób, aby uzyskać to, czego potrzebujesz. – Val
Mam zaktualizowane z oczekiwanym wynikiem, teraz moja długość wiadra będzie znacznie większa. więc jak podchodzę do tego problemu. –
Wygląda na to, że agregujesz według 'parentid', a nie według" atrybutów filtru ", jak podano w twoim pytaniu. Twój cel nie jest bardzo jasny, proszę zaktualizuj swoje pytanie, aby dokładnie odzwierciedlało to, co chcesz. – Val