Еластицсеарцх Мулти-Гет

Elasticsearch Multi Get



Овај чланак ће говорити о томе како да користите Еластицсеарцх мулти-гет АПИ за преузимање више ЈСОН докумената на основу њихових ИД-ова. Поред тога, Еластицсеарцх вам омогућава да користите један упит за преузимање за преузимање докумената из индекса користећи само ИД-ове докумената.

Хајде да истражујемо.







Синтакса захтева

Следеће је синтакса за Еластицсеарцх мулти-гет АПИ:



ГЕТ /_мгет
ГЕТ /<индекс>/_мгет

Мулти-гет АПИ подржава више индекса који вам омогућавају да преузмете документе чак и ако нису у истом индексу.



Захтев подржава следеће параметре путање:





  1. <индекс> – Назив индекса из којег се преузимају документи као што је наведено њиховим ИД-овима.

Такође можете да наведете друге параметре упита као што је приказано:

  1. Преференце – Дефинише жељени чвор или део.
  2. Реалном времену – Ако је постављено на тачно, операција се обавља у реалном времену.
  3. Освјежи – Форсира операцију да освежи циљне делове пре преузимања наведених докумената.
  4. Роутинг – Вредност која се користи за усмеравање операција на одређени део.
  5. Сторе_фиелдс – Преузима поља документа ускладиштена у индексу, а не у документу.
  6. _извор – Логичка вредност која дефинише да ли захтев треба да врати поље _соурце или не.

За упит је потребно тело које укључује следеће вредности:



  1. Доцс – Одређује документе које желите да преузмете. Поред тога, овај одељак подржава следеће атрибуте:
    • _ид – Јединствени ИД циљног документа.
    • _индек – Индекс који садржи циљни документ.
    • Роутинг – Кључ за примарни део документа.
    • _извор – Ако је тачно, укључује сва изворна поља; иначе их искључује.
    • _сторед_фиелдс – сачувана_поља која желите да укључите.
  2. Идс – ИД-ове докумената које желите да преузмете.

Пример 1: Преузми више докумената из истог индекса

Следећи пример показује како да користите Еластицсеарцх мулти-гет АПИ за преузимање докумената са одређеним ИД-овима из Нетфлик индекса:

цурл -КСГЕТ 'Ц3А8Ф52А41Б75099Е944А89Е90Ц88Б3979545ДБД' -Х 'кбн-ксрф: извештавање' -Х 'Тип садржаја: апликација/јсон' -д'
{
'доцс': [
{
'_ид': 'Т3внВоМБцк2АЕзКСПитлЈ'
},
{
'_ид': 'В3внВоМБцк2АЕзКСПитлЈ'
}
]
}'

Дати захтев треба да преузме документе са наведеним ИД-овима из Нетфлик индекса. Резултат је као што је приказано:

{
'доцс': [
{
'_индек': 'нетфлик',
'_ид': 'Т3внВоМБцк2АЕзКСПитлЈ',
'_версион': 1,
'_сек_но': 0,
'_примари_терм': 1,
'пронађено': истина,
'_извор': {
'трајање': '90 мин',
'листед_ин': 'Документарни филмови',
'земља': 'Сједињене Америчке Државе',
'дате_аддед': '25. септембар 2021.',
'схов_ид': 'с1',
'режисер': 'Кирстен Џонсон',
'година издања': 2020,
'рејтинг': 'ПГ-13',
'опис': 'Док се њен отац ближи крају свог живота, филмска редитељка Кирстен Џонсон инсценира његову смрт на инвентивне и комичне начине како би им помогла да се обоје суоче са неизбежним.'
'тип': 'Филм',
'титле': 'Дик Џонсон је мртав'
}
},
{
'_индек': 'нетфлик',
'_ид': 'В3внВоМБцк2АЕзКСПитлЈ',
'_версион': 1,
'_сек_но': 12,
'_примари_терм': 1,
'пронађено': истина,
'_извор': {
„земља“: „Немачка, Чешка Република“,
'схов_ид': 'с13',
'режисер': 'Кристијан Швохов',
'година издања': 2021,
'рејтинг': 'ТВ-МА',
'опис': 'Након што је већина њене породице убијена у терористичком бомбашком нападу, млада жена је несвесно намамљена да се придружи оној групи која их је убила.'
'тип': 'Филм',
'титле': 'Ја сам Карл',
'трајање': '127 мин',
'листед_ин': 'Драме, међународни филмови',
'улоге': 'Луна Ведлер, Јанис Ниевохнер, Милан Песцхел, Един Хасановић, Ана Фиалова, Марлон Боесс, Виктор Боццард, Флеур Геффриер, Азиз Диаб, Мелание Фоуцхе, Елизавета Макимова',
'дате_аддед': '23. септембар 2021.'
}
}
]

}

Такође можемо да поједноставимо захтев тако што ћемо ИД-ове докумената ставити у једноставан низ као што је приказано у наставку:

цурл -КСГЕТ 'Ц3А8Ф52А41Б75099Е944А89Е90Ц88Б3979545ДБД' -Х 'кбн-ксрф: извештавање' -Х 'Тип садржаја: апликација/јсон' -д'
{
'идс': ['Т3внВоМБцк2АЕзКСПитлЈ', 'В3внВоМБцк2АЕзКСПитлЈ']
}'

Претходни захтев би требало да изврши сличну радњу.

Пример 2: Преузми документе из више индикација

У следећем примеру, захтев преузима више докумената из различитих индекса као што је приказано:

цурл -КСГЕТ '459ДФ55Д13Б8Д0АЦ5А6Б8Д18Ф7Ц71085ЕАДФБ893' -Х 'кбн-ксрф: извештавање' -Х 'Тип садржаја: апликација/јсон' -д'
{
'доцс': [
{
'_индек': 'нетфлик',
'_ид': 'Т3внВоМБцк2АЕзКСПитлЈ'
},
{
'_индек': 'Дизни',
'_ид': '8ј4вВоМБ1иФ5ВкфаКЦЕ4'
}
]
}'

Резултат је као што је приказано:

Пример 3: Изузимање одређених поља

Можемо да искључимо одређена поља из датог захтева помоћу параметара соурце_инцлуде и соурце_екцлуде.

Пример је као што је приказано:

цурл -КСГЕТ '459ДФ55Д13Б8Д0АЦ5А6Б8Д18Ф7Ц71085ЕАДФБ893' -Х 'кбн-ксрф: извештавање' -Х 'Тип садржаја: апликација/јсон' -д'
{
'доцс': [
{
'_индек': 'нетфлик',
'_ид': 'Т3внВоМБцк2АЕзКСПитлЈ',
'_соурце': нетачно
},
{
'_индек': 'нетфлик',
'_ид': 'Т3внВоМБцк2АЕзКСПитлЈ',
'_извор': {
'инцлуде': [ 'листед_ин', 'релеасе_иеар', 'титле' ],
'искључи': [ 'опис', 'тип', 'датум_доданог' ]
}
}
]

}'

Дати захтев користи изворно укључивање и искључивање да би одредио која поља желите да преузмете у датом документу.

Резултат је као што је приказано:

Закључак

У овом посту смо разговарали о основама рада са Еластицсеарцх мулти-гет АПИ-јем који вам омогућава да преузмете више докумената из различитих извора на основу њихових ИД-ова. Слободно истражите друге документе за више информација.

Срећно кодирање!