Ötlet az elasztikus verem és az elasztikus kutatás mögött

)

Az Elasticsearch és az ELK Stack rövid bemutatása. Miért mit és hogyan.

ELK https : //aasconsultants.files.wordpress.com/2019/03/elk.png

Előzmények

Rugalmas Az NV egy olyan társaság, amelyet 2012-ben alapítottak Amszterdamban. Shay Banon az Elasticsearch alapítója volt. Első iterációját Iránytűnek hívták. A második az Elasticsearch volt (Apache Lucene-nel a motorháztető alatt). Nyílt forráskódú Elasticsearch-ot hozott létre, létrehozta az #elasticsearch IRC csatornát, és várta a felhasználók megjelenését. A válasz lenyűgöző volt. A felhasználók természetes módon és könnyedén vették igénybe. Az örökbefogadás átment a tetőn, egy közösség kezdett kialakulni, és az emberek észrevették – nevezetesen Steven Schuurman, Uri Boness és Simon Willnauer. Együtt alapítottak egy keresőcéget.

Mi az Elastic Stack?

Az Elastic Stack néven ELK-verem is ismert. Alapvetően három nyílt forráskódú projektet tartalmaz.

  1. Rugalmas keresés – Keresési és elemző motor .
  2. Logstash – Adatfeldolgozási folyamat.
  3. Kibana – Irányítópult az adatok megjelenítéséhez.

Mindháromnak megvan a maga jelentősége, és e három fésülésével Ön Megkapja az adatok elemzését és elemzését.

Miért van szükség rá?

A felmérés szerint a Facebook minden nap 4 petabájt adatot generál, azaz 40 millió GB . Az adatok, ez most az adatok világa. Tehát szükségünk van egy rendszerre, amely elemzi adatainkat.

Várjon !! Mit jelent ez? Elemzés.

Két kifejezést kell megérteni.

  1. Elemzés – Az elemzési részben a korábbi adatokból vagy a meglévő adatokból kap eredményeket.
  2. Analytics – Ha meg akarja jósolni a felhasználói igényeket, grafikonon alapuló megjelenítést szeretne az üzleti egyértelműség érdekében, és meg szeretné érteni az adatmintákat is.

Tehát ez a két legfontosabb eszköz a bármilyen vállalkozás. Ezeket a Adatokkal érheti el. E kettő segítségével pedig bővítheti vállalkozását és egyértelmű üzleti betekintést nyújthat.

Most a Hogyan? Mivel ezt a nagy adatot rövidebb idő alatt elemezni nem könnyű feladat.

Kihívások és megoldások.

Mi történik nagyon nagy vállalatok kapnak adatokat különböző helyekről, különböző formátumokban. Lehet JSON vagy XML bármi. Tehát egy mechanizmusra van szükségünk ahhoz, hogy a teljes adatokat egy helyen és egyformátumban is megkapjuk. Ehhez a Logstash -t használjuk.

Most, amikor adatokat kapunk, adatokat kell rendezni szisztematikus sorrend, így nagyon könnyen értékelhetjük a dolgokat. Ezenkívül szeretnénk elemezni az adatokat, ebben az esetben az Először nagyon gyorsan át kell menni az adatokkal. Ehhez van Elasticsearch. Az Elasticsearch Java-ban van kifejlesztve, és nyílt forráskódként jelenik meg az Apache licenc feltételei szerint .

Miután ezt befejezte, szükségünk van egy vizualizációs platformra, ahol megmutathatjuk adatelemzéseinket. Ott Kibana kerül a képbe. Így működött az egész Elastic verem. A jobb üzleti betekintés érdekében .

Folyamat https://hackernoon.com/hn-images/1*Tvmj3XsqH4hJLvXnfm6sZQ.png

Az Elasticsearch, a Logstash és a Kibana beállítása

Először töltsük le a három nyílt forráskódú szoftvert a megfelelő linkjeikről [ elasticsearch ], [ logstash ] és [ kibana ]. Csomagolja ki a fájlokat, és mindhármat tegye a projekt mappába.

Kezdjük.

1. lépés – A Kibana és az Elasticsearch beállítása a helyi rendszeren. A Kibanát a következő paranccsal futtatjuk a Kibana bin mappájában.

bin\kibana

Hasonlóképpen, az Elasticsearch is így van beállítva:

bin\elasticsearch

Most a két külön terminálban láthatjuk, hogy mindkét modul fut.Annak ellenőrzése érdekében, hogy a szolgáltatások nyitva vannak-e localhost: 5621 Kibana és localhost: 9600 az Elasticsearch számára.

Itt készen állunk a rugalmas verem beállítására. Most lépjen a localhost: 5621 oldalra, és nyissa meg a dev eszközöket itt, a konzolon. Itt írhatja az Elasticsearch lekérdezéseket.

Kibana Console

Amint ezúttal többet beszélünk az Elasticsearchről. Most megnézzük, hogyan működik pontosan az Elasticsearch.

Rugalmas keresés

Rugalmas keresés működése

Minden művelet előtt indexelnünk kell adatainkat. Az Elasticsearch-ben történő indexelés után a felhasználók összetett lekérdezéseket futtathatnak az adataikkal szemben, és összesítésekkel lekérhetik összetett összefoglalóikat az adataikról. Az Elasticsearch JSON dokumentumként tárolja az adatokat és Datastrucre-t használ > invertált index , amely nagyon gyors teljes szöveges keresést tesz lehetővé . Egy fordított index felsorolja az összes egyedi szót, amely bármely dokumentumban megjelenik, és azonosítja az összes olyan dokumentumot, amelyben minden szó előfordul.

A jobb megértés érdekében ossza elasticsearch több témára.

  1. Dokumentumok kezelése
  2. leképezések
  3. elemzés
  4. Keresési módszertan
  5. Összesítés és szűrők

Az Elasticsearch legfontosabb szempontja az architektúra megértése.

Fürt

Az Elasticserach-ban csomópontokban tároljuk adatainkat, egy gépben n számú csomópont lehet. És minden csomópont kapcsolódik a fürthöz. Tehát a fürt csomópontok halmaza .

Dokumentumok

Adatait dokumentumként tárolja , amelyek JSON objektumok. Tehát hogyan szerveződtek ezek az adatok a fürtbe? A válasz indexek .

A relációs adatbázisok világában dokumentumok összehasonlíthatók egy táblázat sorával.

Index

Az Elasticsearch indexek a dokumentumok logikai partíciói és a összehasonlítható egy adatbázissal a relációs adatbázisok világában.

Típusok

Minden index egy vagy több leképezési típussal rendelkezik, amelyeket a dokumentumok logikai csoportokra osztására használnak. Ez összehasonlítható egy táblázattal a relációs adatbázisok világában.

Minden dokumentum indexként tárolódik . Az index, amelyet mondhat, a dokumentumok gyűjteménye. Ennek hasonló jellemzői vannak, például a tanszéknek A indexe lesz, az alkalmazottaknak pedig B indexük, vagyis logikailag kapcsolódnak egymáshoz.

Szilánkozás

  1. A szétválasztás csak egy módja az index felosztásának kisebb darabokra.
  2. Mindegyik darab szilánkként ismert.
  3. Az aprítás indexszinten történik.

A szilánkok olyanok, mint egy index. A méretezhetőség érdekében. Az aprítással több milliárd dokumentumot tárolhat egy indexen belül. Vannak Replikák is, de egyelőre elég, ha elindítjuk és megértjük az Elasticsearch-et.

Lépjünk tovább az építkezés és a keresőmotor felé.

1. Dokumentumok kezelése

Előtte szerezze be az Elasticserach csomagkezelőt.

npm i elasticsearch

Lépés -1- Kapcsolja össze az alkalmazását az Elasticsearch szolgáltatással a következők követésével.

Kapcsolat

2. lépés – Index létrehozása pl. Indexet hozunk létre kormány.

Index létrehozása

3. lépés – Most hozzáadunk dokumentumokat az index gov-hoz, és az index gov-ban van egy típus, amelyet úgy hívnak: választókerületek .

Összekapcsolódhat, mivel van egy gov nevű adatbázis, és a tábla választókerületek.

Dokumentumok hozzáadása

2. Hozzárendelések

A leképezés a dokumentum és annak mezőinek meghatározása. Csakúgy, mint a táblázat-séma definiálása az RDBMS-ben.

4. lépés – Most meghatározzuk a leképezéseket a gov típusú választókerületek indexeléséhez.

leképezések

3. Elemzés

Szövegelemzés a strukturálatlan szöveg konvertálásának folyamata. az e-mail vagy a termékleírás törzse strukturált formátumban, amely optimalizált a keresésre.

Az Elasticsearch szövegelemzést végez indexeléskor vagy kereséskor

text mezők . Ezt leképezésekben definiáltuk. Ez a keresőmotor kulcsfontosságú tényezője.

Alapértelmezés szerint az Elasticsearch a

standard elemzőt használja az összes szövegelemzéshez. A standard analizátor dobozon kívüli támogatást nyújt a legtöbb természetes nyelvhez és használati esethez . Ha úgy dönt, hogy a standard analizátort a jelenlegi állapotában használja, nincs szükség további konfigurálásra. Saját egyéni elemzőt is létrehozhat.

4. Keresési módszertan

Különböző típusú lekérdezések alkalmazhatók az Elasticsearch szolgáltatásra. Ezáltal ennek megfelelően fog eredményeket elérni. Itt egy alapvető példát adok egy lekérdezésre.

A legegyszerűbb lekérdezés, amely minden dokumentumnak megfelel.

Keresési lekérdezés

Lekérdezések

Az összetett lekérdezések más összetett vagy levéles lekérdezéseket vonnak be, vagy az eredmények és a pontszámok egyesítése, viselkedésük megváltoztatása, vagy lekérdezésről szűrőkörnyezetre váltás céljából.

Az alapértelmezett lekérdezés több levél vagy összetett lekérdezési záradék kombinálásához, például must, should, must\_not vagy filter záradékok. A must és should záradékok pontszáma együtt van.

A teljes szöveg a lekérdezések lehetővé teszik az elemzett szövegmezők , például az e-mail törzsének keresését. A lekérdezési karaktersorozatot ugyanazzal az elemzővel dolgozzuk fel, amelyet az indexelés során a mezőre alkalmaztunk. Ez elemzi a bemenetét. Ha a megadott bevitel nem pontos, de akkor is eredményt kap.

A teljes SQL-stílusú csatlakozások végrehajtása olyan elosztott rendszerben, mint az Elasticsearch, rendkívül költséges. Ehelyett az Elasticsearch kétféle csatlakozási lehetőséget kínál, amelyeket vízszintesen méreteznek.

1.

nested lekérdezés

2.

has\_child és

has\_parent lekérdezések

Ez a csoport olyan lekérdezéseket tartalmaz, amelyek nem illeszkednek a többi csoporthoz. Megállapítottuk, hogy hasonló jellegű dokumentumok, rögzített lekérdezések és még sok más kérem nézze meg annak dokumentációját .

Használhatja a kifejezésszintű lekérdezések dokumentumok pontosság alapján történő megkereséséhez e értékek a strukturált adatokban. A strukturált adatok például dátumtartományokat, IP-címeket, árakat vagy termékazonosítókat tartalmaznak.

A teljes szöveges lekérdezésektől eltérően a kifejezésszintű lekérdezések ne elemezze a keresési kifejezéseket. Ehelyett a kifejezésszintű lekérdezések megegyeznek a mezőben tárolt pontos feltételekkel. Megtalálja a bemenet pontos egyezését, ahol a teljes szöveges elemzéshez hasonlóan elemzésre kerül, majd keressen rá, így nagy a különbség a Term-szintű és a teljes szöveges lekérdezések között.

5. Összesítés és szűrők

Szűrőkörnyezetben egy lekérdezési záradék megválaszolja a „ Megfelel-e ez a dokumentum ennek a lekérdezési záradéknak? ” kérdést A válasz egyszerű Igen vagy Nem – nincs pontszám. A szűrőkörnyezetet leginkább strukturált adatok szűrésére használják, pl.

  • Ez timestamp 2015 tartományba esik 2016-ig?
  • A status mező értéke "published"?

A gyakran használt szűrőket az Elasticsearch automatikusan tárolja a gyorsítótárba a teljesítmény gyorsítása érdekében.

A szűrőkörnyezet akkor érvényes, amikor egy lekérdezési záradékot átadnak egy filter paraméter, például a filter vagy must\_not paraméter a

bool lekérdezés, a filter paraméter a

constant\_score lekérdezésben, vagy az

filter összesítés .

Az összesítés sokkal inkább hasonlít, mint az RDBMS-ben, így az Átlag, az Összeg és sok adatbetekintést összetett lekérdezésekkel talál.

Összegzés

  1. Mi az elasztikus verem.
  2. Hogyan működik az ELK.
  3. Mi az Elasticsearch és működése.
  4. Néhány alapvető kérdés erről.

Mi következik !!

Mivel ez egy hatalmas téma, amelyet le kell fedni. de megpróbáltam röviden bemutatni az ELK-t és az Elasticsearch-et. Ezután felépítjük a saját keresőmotorunkat, mint például az Elasticsearch felhasználásával készült Alkalmazást, ahol a kódoló részét is áttekintem. A fájlszerkezet és egyéb dolgok fenntartása. Ezt bármelyik projektjén alkalmazza, és az ELK verem a naplóelemző eszközként a leggyakrabban használt. Népszerűsége abban rejlik, hogy megbízható és viszonylag skálázható módon biztosítja a több forrásból származó adatok összesítését, még mindig sok dolog van hátra, de ezek után kezdheti az Elasticsearch programmal. Javaslom, olvassa el a dokumentációt . Ha bármilyen kérdése van, vagy valami hibát talál a tartalommal, kérjük, írjon megjegyzést.

Köszönöm 🙂