Ich habe einen Anwendungsfall, in dem ich habe Daten wieeinzigartige Ergebnisse in 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'}
}
erwarteten Ergebnisse:
bucket:[{
key: "2222",
hits: [{
name: "Tom" ...
},
{
name: "Tim" ...
}]
},
{
key: "1234",
hits: [{
name: "John" ...
},
{
name: "Mary" ...
}]
}]
Ich möchte von parentid
einzigartiges Dokument zurückzukehren. Obwohl ich die Top-Aggregation verwenden kann, kann ich den Bucket nicht paginieren. Da es mehr Chancen gibt, dass parentid
anders ist als das selbe. Also wäre mein Bucket-Array groß und ich möchte sie alle zeigen, aber indem ich sie paginiere.
[Paging-Unterstützung für Aggregation] (https://github.com/elastic/elasticsearch/issues/4915) ist noch nicht implementiert. Bitte zeigen Sie eine Beispielantwort, die Sie erhalten möchten, vielleicht gibt es eine andere Möglichkeit, Sie zu bekommen, was Sie brauchen. – Val
Ich habe mit dem erwarteten Ergebnis aktualisiert, jetzt wird meine Bucketlänge viel größer sein. wie gehe ich an dieses Problem heran? –
Es scheint, dass Sie aggregieren nach "parentid" und nicht nach "Filterattribute" wie in Ihrer Frage angegeben. Ihr Ziel ist nicht klar, bitte stellen Sie sicher, dass Sie Ihre Frage so aktualisieren, dass sie genau Ihren Vorstellungen entspricht. – Val