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é:
- Pomocou terminálu, konkrétne, CURL
- Základné znalosti API a JSON
- Vytvára sa požiadavka HTTP
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.
- MySQL => Databázy => Tabuľky => Stĺpce / riadky
- Elasticsearch => Indexy => Typy => Dokumenty JSON s vlastnosťami
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_indexPre 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:
- Názov indexu musí byť iba malými písmenami.
- Názvy indexov nemôžu začínať pomlčkou (-), podčiarkovníkom (_) alebo znakom sčítania (+)
- Mená nemôžu byť . alebo…
- Názvy indexov nemôžu obsahovať špeciálne znaky, ako napríklad: \, /, *, ?, „, <, >, |, "(znak medzery), ,, #
- 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
- 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_bodyPre 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.