Како створити индексе еластичног претраживања

How Create Elasticsearch Indices



Еластицсеарцх је један део популарног ЕЛК стека који се користи за анализу дневника и претраживање. Апликације и системи непрестано бележе податке који могу бити веома корисни за решавање проблема и праћење проблема. Користећи ЕЛК стек, имате најбоље алате за брзо и врло једноставно обављање ових задатака.

У овом кратком водичу ћемо погледати Еластицсеарцх, конкретно како створити индексе у Еластицсеарцх мотору. Иако вам за праћење овог водича није потребно свеобухватно знање о ЕЛК стеку, основно разумевање следећих тема могло би бити од користи:







  • Користећи терминал, конкретно, цУРЛ
  • Основно познавање АПИ -ја и ЈСОН -а
  • Упућивање ХТТП захтева

БЕЛЕШКА: Овај водич такође претпоставља да имате Еластицсеарцх инсталиран и покренут на вашем систему.



Шта су индекси еластичног претраживања?

Без превише поједностављивања или прекомпликовања ствари, Еластицсеарцх индекс је скуп повезаних ЈСОН докумената.



Као што је споменуто у претходном посту, Еластицсеарцх индекси су ЈСОН објекти - сматрају се основном јединицом складиштења у Еластицсеарцх -у. Ови повезани ЈСОН документи се чувају у једној јединици која чини индекс. Замислите документе Еластицсеарцх као табеле у релационој бази података.





Повежимо индекс Еластицсеарцх као базу података у свету СКЛ -а.

  • МиСКЛ => Базе података => Табеле => Колоне/Редови
  • Еластицсеарцх => Индекси => Врсте => ЈСОН документи са својствима

Како створити индекс еластичне претраге

Еластицсеарцх користи моћан и интуитиван РЕСТ АПИ за излагање својих услуга. Ова функционалност вам омогућава да користите ХТТП захтеве за извођење операција на кластеру Еластицсеарцх. Због тога ћемо користити АПИ за креирање индекса за креирање новог индекса.



У овом водичу ћемо користити цУРЛ за слање захтева и очување интегритета и употребљивости за све кориснике. Међутим, ако наиђете на грешке са цУРЛ -ом, размислите о употреби Кибана Цонсоле.

Синтакса за креирање новог индекса у кластеру Еластицсеарцх је:

СТАВИТИ /

Да бисте креирали индекс, све што морате да урадите је да проследите име индекса без других параметара, што ствара индекс користећи подразумеване поставке.

Такође можете навести различите карактеристике индекса, на пример у телу индекса:

  • Подешавања за индекс
  • Индексни псеудоними
  • Мапирања за поља индекса

Име индекса је обавезан параметар; у супротном ћете добити грешку за УРИЛ (/)

цурл -Кс ПУТ лоцалхост: 9200
{'еррор': 'Нетачан ХТТП метод за ури [/] и метод [ПУТ], дозвољени: [ДЕЛЕТЕ, ХЕАД, ГЕТ]', 'статус': 405}

Да бисмо креирали нови индекс са именом сингле_индек, прослеђујемо захтев:

ПУТ /сингле_индек

За цУРЛ, користите наредбу:

цурл -Кс ПУТ 'лоцалхост: 9200/сингле_индек? претти'

Ова наредба би требала резултирати ХТТП статусом 200 у реду и поруком са потврђеним: труе као:

{
признато: истина,
'схардс_ацкновледгед': тачно,
'индек': 'сингле_индек'
}

Горе наведени захтев ствара индекс сингле_индек са подразумеваним поставкама јер нисмо навели никакве конфигурације.

Правила именовања индекса

Приликом креирања назива за индексе Еластицсеарцх морате се придржавати следећих стандарда именовања:

  1. Назив индекса мора бити само малим словима.
  2. Називи индекса не могу почињати цртицом (-), доњом цртом (_) или знаком додавања (+)
  3. Имена не могу бити. или ..
  4. Имена индекса не могу укључивати посебне знакове као што су: , /, *,?,,, |, `(Размак), ,, #
  5. Дужина назива индекса мора бити мања од 255 бајтова. Вишебајтни знакови рачунаће се у укупну дужину назива индекса. На пример, ако је један знак дугачак 8 бајтова, укупна преостала дужина имена је 255 - 8
  6. У најновијој верзији Еластицсеарцх -а имена која почињу са. резервисани су за скривене индексе и интерне индексе које користе додаци Еластицсеарцх.

Како креирати тело индекса

Када користите ПУТ захтев за креирање индекса, можете проследити различите аргументе који дефинишу поставке за индекс који желите да креирате. Вредности које можете да наведете у телу укључују:

  • Псеудоними: Наводи псеудониме за индекс који желите да креирате; овај параметар није обавезан.
  • Подешавања: Ово дефинише опције конфигурације за индекс који желите да креирате. Ако не наведете било који параметар, индекс се креира помоћу подразумеваних конфигурација.
  • Мапирања: Ово дефинише мапирање поља у индексу. Спецификације које можете укључити у мапирање укључују:
    • Назив поља
    • Тип података
    • Параметар пресликавања

За пример стварања индекса са конфигурацијама тела, размотрите доњи захтев:

ПУТ /сингле_индек_витх_боди
{
'сеттингс': {
'нумбер_оф_схардс': 2,
'нумбер_оф_реплицас': 2
},
пресликавања: {
'својства': {
'фиелд1': {'типе': 'објецт'}
}
}
}

За захтев еквивалентан цУРЛ -у:

цурл -КСПУТ 'хттп: // лоцалхост: 9200/сингле_индек_витх_боди' -Х 'Цонтент -Типе: апплицатион/јсон' -д '{' сеттингс ': {' нумбер_оф_схардс ': 2,' нумбер_оф_реплицас ': 2},' маппингс ' : {'пропертиес': {'фиелд1': {'типе': 'објецт'}}}} '

Горњи захтев ствара нови индекс са именом сингле_индек_витх_боди са 2 броја фрагмената и 2 реплике. Такође ствара мапирање са пољем имена фиелд1 и уписује као ЈСОН објекат.

Након што пошаљете захтев, добићете одговор са статусом захтева као:

{
признато: истина,
'схардс_ацкновледгед': тачно,
'индек': 'сингле_индек_витх_боди'
}

Потврђено показује да ли је индекс успјешно креиран у кластеру, док схардс_ацкновледгед показује да ли је потребан број копија дијелова покренут за сваки уломак у наведеном индексу прије истека времена.

Како прегледати индекс Еластицсеарцх

Да бисте видели информације о индексу који сте креирали, користите захтев сличан оном за креирање индекса, али користите ХТТП метод уместо ПУТ као:

ГЕТ /сингле_индек_витх_боди

За цУРЛ,

цурл -КСГЕТ хттп: // лоцалхост: 9200/сингле_индек_витх_боди

Ова команда ће вам дати детаљне информације о траженом индексу као:

{
'сингле_индек_витх_боди': {
'алиас': {},
'пресликавања': {
'својства': {
'фиелд1': {
'типе': 'објецт'
}
}
},
'сеттингс': {
'индек': {
'роутинг': {
'алокација': {
'инцлуде': {
'_тиер_преференце': 'дата_цонтент'
}
}
},
'нумбер_оф_схардс': '2',
'провидед_наме': 'сингле_индек_витх_боди',
'цреатион_дате': '1611045687208',
'нумбер_оф_реплицас': '2',
'ууид': '3ТРкО7кмКцСУООГтб6пКСВА',
'верзија': {
'цреатед': '7100299'
}
}
}
}
}

Закључак

Овај водич је расправљао о томе како радити са Еластицсеарцх -ом на креирању индекса АПИ -ја за креирање нових индекса. Такође смо разговарали о томе како створити одговарајућа имена за индексе и конфигурацијске поставке.

Коришћењем овог водича сада можете да креирате и прегледате индексе користећи Еластицсеарцх АПИ.