Elastické vyhľadávanie

Ako vytvoriť indexy elasticsearch

Ako vytvoriť indexy elasticsearch
Elasticsearch je jednou časťou populárneho balíka ELK používaného na analytiku a vyhľadávanie protokolov. Aplikácie a systémy neustále zaznamenávajú údaje, ktoré môžu byť veľmi užitočné pri riešení problémov a sledovaní problémov. Pomocou zásobníka ELK máte najlepšie nástroje na rýchle a veľmi ľahké vykonávanie týchto úloh.

V tomto rýchlom výučbe sa pozrieme na Elasticsearch, konkrétne na to, ako vytvárať indexy v nástroji Elasticsearch. Aj keď na vykonanie tohto tutoriálu nepotrebujete žiadne komplexné vedomosti o zásobníku ELK, základné znalosti nasledujúcich tém by mohli byť výhodné:

POZNÁMKA: Tento výukový program tiež predpokladá, že máte vo svojom systéme nainštalovaný a spustený Elasticsearch.

Čo sú indexy elastického vyhľadávania?

Bez nadmerného zjednodušovania alebo nadmernej komplikácie je index Elasticsearch zbierkou súvisiacich dokumentov JSON.

Ako bolo uvedené v predchádzajúcom príspevku, indexy Elasticsearch sú objekty JSON považované za základnú jednotku úložiska v Elasticsearch. Tieto súvisiace dokumenty JSON sú uložené v jednej jednotke, ktorá tvorí index. Berte dokumenty Elasticsearch ako tabuľky v relačnej databáze.

Spojme index Elasticsearch ako databázu vo svete SQL.

Ako vytvoriť index elasticity

Elasticsearch používa na sprístupnenie svojich služieb výkonné a intuitívne rozhranie REST API. Táto funkcia vám umožňuje používať požiadavky HTTP na vykonávanie operácií v klastri Elasticsearch. Preto na vytvorenie nového indexu použijeme API create index.

V tejto príručke budeme používať cURL na odosielanie žiadostí a na zachovanie integrity a použiteľnosti pre všetkých používateľov. Ak sa však pri cURL vyskytnú chyby, zvážte použitie konzoly Kibana Console.

Syntax pre vytvorenie nového indexu v klastri Elasticsearch je:

PUT /

Ak chcete vytvoriť index, stačí zadať názov indexu bez ďalších parametrov, čím sa index vytvorí pomocou predvolených nastavení.

Môžete tiež určiť rôzne funkcie indexu, napríklad v tele indexu:

  • Nastavenia indexu
  • Indexové aliasy
  • Mapovania pre indexové polia

Názov indexu je povinný parameter; v opačnom prípade sa zobrazí chyba pre URIL (/)

curl -X PUT “localhost: 9200”
"error": "Nesprávna metóda HTTP pre uri [/] a metódu [PUT], povolené: [DELETE, HEAD, GET]", "status": 405

Ak chcete vytvoriť nový index s názvom single_index, odovzdáme požiadavku:

PUT / single_index

Pre cURL použite príkaz:

curl -X PUT "localhost: 9200 / single_index?pekne "

Výsledkom tohto príkazu by mal byť stav HTTP 200 v poriadku a správa s potvrdeným: true ako:


„Potvrdené“: pravda,
"shards_acknowledged": pravda,
"index": "single_index"

Vyššie uvedená požiadavka vytvorí index single_index s predvoleným nastavením, pretože sme neuviedli žiadne konfigurácie.

Pravidlá pre pomenovanie indexov

Pri vytváraní názvov indexov Elasticsearch musíte dodržiavať nasledujúce štandardy pre pomenovanie:

  1. Názov indexu musí byť iba malými písmenami.
  2. Názvy indexov nemôžu začínať pomlčkou (-), podčiarkovníkom (_) alebo znakom sčítania (+)
  3. Mená nemôžu byť . alebo…
  4. Názvy indexov nemôžu obsahovať špeciálne znaky, ako napríklad: \, /, *, ?, „, <, >, |, "(znak medzery), ,, #
  5. Dĺžka názvov indexov musí byť menšia ako 255 bajtov. Viacbajtové znaky sa započítajú do celkovej dĺžky názvu indexu. Napríklad ak má jeden znak dĺžku 8 bajtov, celková zostávajúca dĺžka mena je 255 - 8
  6. V najnovšej verzii aplikácie Elasticsearch sa názvy začínajúce písmenom a . sú vyhradené pre skryté indexy a interné indexy používané doplnkami Elasticsearch.

Ako vytvoriť telo indexu

Pri použití požiadavky PUT na vytvorenie indexu môžete zadať rôzne argumenty, ktoré definujú nastavenia indexu, ktorý chcete vytvoriť. Medzi hodnoty, ktoré môžete určiť v tele, patria:

  • Aliasy: Určuje aliasy pre index, ktorý chcete vytvoriť; tento parameter je voliteľný.
  • Nastavenie: Toto definuje možnosti konfigurácie pre index, ktorý chcete vytvoriť. Ak nezadáte žiadne parametre, index sa vytvorí pomocou predvolených konfigurácií.
  • Mapovania: Toto definuje mapovanie pre polia v indexe. Medzi špecifikácie, ktoré môžete zahrnúť do mapovania, patria:
    • Názov poľa
    • Dátový typ
    • Parameter mapovania

Príklad vytvorenia indexu s konfiguráciami tela nájdete v žiadosti uvedenej nižšie:

PUT / single_index_with_body

"nastavenie":
"number_of_shards": 2,
"number_of_replicas": 2
,
„Mapping“:
"properties":
"field1": "type": "objekt"


Pre ekvivalentnú požiadavku na curl:

curl -XPUT "http: // localhost: 9200 / single_index_with_body" -H 'Content-Type: application / json' -d '"settings": "number_of_shards": 2, "number_of_replicas": 2, "mappings" : "properties": "field1": "type": "object" '

Vyššie uvedená požiadavka vytvorí nový index s názvom single_index_with_body s 2 číslami črepov a 2 replikami. Tiež vytvorí mapovanie s poľom názvu poľa1 a napíše ako objekt JSON.

Po odoslaní žiadosti dostanete odpoveď so stavom žiadosti ako:


„Potvrdené“: pravda,
"shards_acknowledged": pravda,
"index": "single_index_with_body"

„Potvrdené“ ukazuje, či bol index úspešne vytvorený v klastri, zatiaľ čo „shards_acknowledged“ ukazuje, či bol pre každý zlomok v určenom indexe pred uplynutím časového limitu spustený požadovaný počet kópií fragmentu.

Ako zobraziť index Elasticsearch

Ak chcete zobraziť informácie o indexe, ktorý ste vytvorili, použite podobnú požiadavku ako pri vytváraní indexu, ale namiesto PUT použite metódu HTTP ako:

ZÍSKAŤ / single_index_with_body

Pre kučeru,

curl -XGET “http: // localhost: 9200 / single_index_with_body”

Tento príkaz vám poskytne podrobné informácie o požadovanom indexe ako:


"single_index_with_body":
"aliasy": ,
"mapping":
"properties":
"field1":
"type": "objekt"


,
"nastavenie" :
"index":
"routing":
"pridelenie" :
"include":
"_tier_preference": "data_content"


,
"number_of_shards": "2",
"provided_name": "single_index_with_body",
"creation_date": "1611045687208",
"number_of_replicas": "2",
"uuid": "3TRkO7xmQcSUOOGtb6pXVA",
"verzia":
"created": "7100299"




Záver

Táto príručka hovorila o tom, ako pracovať s Elasticsearch na vytvorení indexového API na vytváranie nových indexov. Diskutovali sme tiež o tom, ako vytvoriť vhodné názvy pre indexy a konfiguračné nastavenia.

Pomocou tohto sprievodcu môžete teraz vytvárať a zobrazovať indexy pomocou rozhrania Elasticsearch API.

Hry Výukový program Battle for Wesnoth
Výukový program Battle for Wesnoth
Battle for Wesnoth je jednou z najpopulárnejších open source strategických hier, ktoré si v súčasnosti môžete zahrať. Táto hra bola nielen vyvinutá ve...
Hry 0 A.D. Výukový program
0 A.D. Výukový program
Z mnohých strategických hier je tu 0 A.D. dokáže vyniknúť ako komplexný titul a veľmi hlboká, taktická hra napriek tomu, že je otvoreným zdrojom. Vývo...
Hry Výukový program pre Unity3D
Výukový program pre Unity3D
Úvod do Unity 3D Unity 3D je výkonný nástroj na vývoj hier. Je to multiplatforma, ktorá vám umožňuje vytvárať hry pre mobilné telefóny, web, počítače ...