7,540
edits
Changes
→Aggregáció
<br>
https://www.elastic.co/guide/en/elasticsearch/reference/current/search-aggregations.html
Ez egy elég nagy témakör az Elasticserach-ön belül, ezért külön fő fejezetet édemel.
A metrika aggregációk olyan függvények, amik a dokumentumok bizonyos mezőinek az értékein valamilyen művelet hajtanak végre, tipikusan ezek numerikus mezők, a végeredmény egy vagy több szám. Pl a legegyszerűbb metrika aggregáció az átlag kiszámítása. Az aggregációt lehet keresési eredményekre alkalmazni, vagy más aggregációk kimenetére, és a kimenetet is fel lehet használni további aggregációkhoz, lekérdezésekhez.
}
</syntaxhighlight>
A végeredmény is egy dokumentum lesz, amiben lesz egy mező név a metrika nevével, amit itt megadtunk a lekérdezésben. Azt hogy ez a lekérdezés egy aggregáció lesz, azt az '''aggs''' kulcsszó jelöli. Ha egy lekérdezésben volt aggregáció, akkor a válasz legvégére az Elasticsearch odarakja az aggregations nevű listát. Minden egyes aggregációnak lesz egy külön listaeleme azzal a névvel, amit megadtunk az aggregáció definiálásakor. <syntaxhighlight lang="C++"> "aggregations" : { "<aggregáció neve>" : { "value(s)" : <végeredmény, ami lehet egy vagy több elemű> } }</syntaxhighlight> <br>===single-value numeric metrics aggregation===A single-value aggregációknál a végeredmény mindig 1 elemű, tehát a végeredmény mindig így néz ki, ahol az XXX egy darab szám. <syntaxhighlight lang="C++"> "aggregations" : { "<aggregáció neve>" : { "value" : XXX } }</syntaxhighlight> Példák egy értékű aggregációkra: * Átlag (average)* Súlyozott átlag (weighted average) * Cardinality (különböző elemek elemszáma, pl set={1,1,2,3,4,4} kardinalitása = 4
* Minimum
*
'''stats'''<br>
A legegyszerűbb a stats aggregáció, ami nem csinál mást, mint a dokumentum halmazban egy kiválasztott mezőre visszaadja a következő statisztikát:
''darabszám, min, max, átlag, és summa'', tehát ez nem más mint a négy alap single-value aggregáció ötvözése.
<br>