Što je Elasticsearch?
Elasticsearch je besplatni i otvoreni izvor pretraživačkog i analitičkog mehanizma koji se koristi za prikupljanje, upravljanje i analizu podataka.
Elasticsearch je sveobuhvatan alat koji koristi Apache Lucene za obradu tekstualnih, numeričkih, strukturiranih i nestrukturiranih geoprostornih podataka. Elasticsearch koristi jednostavan i vrlo moćan REST API koji omogućava korisnicima da ga konfiguriraju i upravljaju njime. U kombinaciji s drugim alatima kao što su Kibana i Logstash, jedan je od najpopularnijih motora za analizu podataka u stvarnom vremenu i za analizu podataka.
Jednom kada se podaci prikupe iz izvora kao što su sistemski dnevnici, mjerni podaci, podaci aplikacije itd., dodaje se u Elasticsearch i indeksira, omogućujući vam izvršavanje složenih upita podataka i izradu sažetaka i informativnih nadzornih ploča pomoću alata za vizualizaciju poput Kibane.
Što je indeks elastičnog pretraživanja?
Nakon što smo ispeglali što je Elasticsearch, razgovarajmo o jednoj od najvažnijih stvari o Elastic-u: indeks.
U Elasticsearchu indeks se odnosi na zbirku usko povezanih dokumenata u obliku JSON podataka. JSON podaci koreliraju tipke s odgovarajućim vrijednostima njihovih ključeva.
Evo primjera JSON dokumenta:
"@timestamp": "2099-11-15T13: 12: 00",
"message": "GET / traži HTTP / 1.1 200 1070000 ",
"korisnik":
"id": "json_doc"
Elasticsearch indeksi su u obliku obrnutog indeksa, koji Elasticsearch pretražuje pomoću cjelovitih tekstova. Obrnuti indeks djeluje nabrajanjem svih jedinstvenih riječi u bilo kojem dokumentu Elasticsearch i točno se podudara s dokumentom u kojem riječ prelazi.
Značajka obrnutog indeksiranja koju pruža Elasticsearch također omogućuje pretraživanje u stvarnom vremenu i može se ažurirati pomoću API-ja za indeksiranje Elasticsearch.
Kako stvoriti pseudonim indeksa
Elasticsearch izlaže svoje usluge i funkcionalnosti koristeći vrlo moćan REST API. Korištenjem ovog API-ja možemo stvoriti zamjensko ime za indeks Elasticsearch.
Što je pseudonim indeksa?
Pseudonim indeksa Elastisearch sekundarni je naziv ili identifikator koji možemo koristiti za referenciranje jednog ili više indeksa.
Jednom kada stvorite pseudonim indeksa, možete se pozvati na indeks ili indekse u Elasticsearch API-ima.
Primjer odgovarajućeg indeksa bili bi indeksi koji spremaju sistemske zapisnike za apache. Ako redovito postavljate upite u zapise apache, možete stvoriti zamjensko ime za apache_logs te postaviti upit i ažurirati taj određeni indeks.
Da bismo stvorili alias za određeni indeks, koristimo zahtjev PUT nakon kojeg slijedi put indeksa i alias za stvaranje.
U REST-u koristimo metodu PUT za traženje prosljeđenog entiteta ili vrijednosti za pohranu na URL zahtjeva. Jednostavno rečeno, metoda HTTP PUT omogućuje vam ažuriranje podataka o resursu ili stvaranje novog unosa ako on ne postoji.
Za ovaj vodič, pretpostavljam da ste instalirali Elasticsearch i da imate API klijent ili alat za slanje HTTP zahtjeva kao što je cURL.
Krenimo od stvaranja jednostavnog indeksa bez zamjenskog imena ili parametara.
Radi jednostavnosti koristit ćemo curl jer pretpostavljamo da ste Elasticsearch instalirali samo bez Kibane. Međutim, ako imate instaliranu Kibana ili naiđete na pogreške pri korištenju curla, razmislite o korištenju Kibana Console jer je bolje prikladan za zahtjeve API-ja Elasticsearch.
curl -X STAVITE "localhost: 9200 / my_index?prilično"Ova naredba stvara jednostavni indeks pomoću zadanih postavki i vraća sljedeće.
"Priznato": istina,
“Krhotine_priznato”: točno,
"index": "moj_indeks"
Sad kad imamo indeks u Elasticsearchu, možemo stvoriti alias koristeći isti PUT zahtjev kao:
STAVITE localhost: 9200 / my_index / _alias / my_alias_1Počinjemo određivanjem metode, u ovom slučaju, PUT-a nakon kojeg slijedi URL indeksa kojem želimo dodati alias. Sljedeći je API koji želimo koristiti, u ovom slučaju, API Alias API (_alias) nakon kojeg slijedi ime aliasa koji želimo dodijeliti indeksu.
Evo naredbe cURL za to:
curl -X STAVITE "localhost: 9200 / my_index / _alias / my_alias_1?prilično"Ova naredba treba odgovoriti sa statusom 200 OK i "potvrđeno":
"Priznato": istina
Također možete naići na metodu dodavanja zamjenskog imena u indeks kao:
curl -X POST "localhost: 9200 / _aliases?prilično "-H 'Vrsta sadržaja: application / json' -d '"radnje": [
"add": "index": "my_index", "alias": "my_alias_1"
]
Korištenjem API-ja zamjenskog imena pseudonima Elasticsearch možete dodavati, ažurirati i uklanjati pseudonime indeksa kako smatrate potrebnim.
Kako dobiti informacije o pseudonimu indeksa
Kada kreirate sofisticirane pseudonime, poput onih filtriranih prema određenom korisniku, možda ćete htjeti dobiti informacije o indeksu. Informacije možete pogledati pomoću GET metode kao:
GET / my_index / _alias / my_alias_1Evo naredbe cURL:
curl -X GET "localhost: 9200 / my_index / _alias / my_alias_1?prilično"Ova naredba će prikazati informacije u vezi s zamjenskim imenom. Budući da nismo dodali nikakve informacije, one će obično biti slične.
"moj_indeks":
"aliasi":
"moj_alias_1":
Osigurajte da postoji zamjensko ime kako biste izbjegli pogrešku 404 kao što je prikazano dolje:
curl -X GET “localhost: 9200 / my_index / _alias / does_not_exist?prilično"Rezultat će biti "alias ne postoji ili nedostaje" kao:
"error": "nedostaje alias [ne_postoji]",
"status": 404
Kako izbrisati pseudonim indeksa
Da bismo uklonili postojeći alias iz indeksa, koristimo metodu kojom smo dodali alias, ali umjesto toga sa zahtjevom DELETE. Na primjer:
localhost: 9200 / my_index / _alias / my_alias_1Ekvivalentna naredba cURL je:
curl -X DELETE "localhost: 9200 / my_index / _alias / my_alias_1?prilično"Elasticsearch bi trebao odgovoriti s 200 u redu i potvrdio: istina
"Priznato": istina
Postoje i drugi načini za ažuriranje i uklanjanje aliasa iz indeksa u Elasticsearchu. Međutim, radi jednostavnosti zalijepili smo se za jedan zahtjev.
Zaključak
U ovom jednostavnom vodiču pogledali smo stvaranje indeksa Elasticsearch, a zatim alias. Također smo opisali kako izbrisati zamjensko ime.
Vrijedno je napomenuti da ovaj vodič nije definitivan na svijetu; svrha mu je bila poslužiti kao početni vodič za stvaranje Elasticsearch-a, a ne sveobuhvatan vodič.
Ako želite saznati više o API-ju elastičnog indeksa, razmotrite donje resurse.
Također preporučujemo posjedovanje osnovnog znanja o radu s Elasticsearchom i API-jem; bit će od velike pomoći pri radu s ELK stogom.
https: // www.elastičan.co / guide / en / elasticsearch / reference / current / index-aliases.html
https: // www.elastičan.co / guide / en / elasticsearch / reference / current / indexes-add-alias.html