Овај чланак ће говорити о томе како да користите Еластицсеарцх мулти-гет АПИ за преузимање више ЈСОН докумената на основу њихових ИД-ова. Поред тога, Еластицсеарцх вам омогућава да користите један упит за преузимање за преузимање докумената из индекса користећи само ИД-ове докумената.
Хајде да истражујемо.
Синтакса захтева
Следеће је синтакса за Еластицсеарцх мулти-гет АПИ:
ГЕТ /_мгет
ГЕТ /<индекс>/_мгет
Мулти-гет АПИ подржава више индекса који вам омогућавају да преузмете документе чак и ако нису у истом индексу.
Захтев подржава следеће параметре путање:
- <индекс> – Назив индекса из којег се преузимају документи као што је наведено њиховим ИД-овима.
Такође можете да наведете друге параметре упита као што је приказано:
- Преференце – Дефинише жељени чвор или део.
- Реалном времену – Ако је постављено на тачно, операција се обавља у реалном времену.
- Освјежи – Форсира операцију да освежи циљне делове пре преузимања наведених докумената.
- Роутинг – Вредност која се користи за усмеравање операција на одређени део.
- Сторе_фиелдс – Преузима поља документа ускладиштена у индексу, а не у документу.
- _извор – Логичка вредност која дефинише да ли захтев треба да врати поље _соурце или не.
За упит је потребно тело које укључује следеће вредности:
- Доцс – Одређује документе које желите да преузмете. Поред тога, овај одељак подржава следеће атрибуте:
- _ид – Јединствени ИД циљног документа.
- _индек – Индекс који садржи циљни документ.
- Роутинг – Кључ за примарни део документа.
- _извор – Ако је тачно, укључује сва изворна поља; иначе их искључује.
- _сторед_фиелдс – сачувана_поља која желите да укључите.
- Идс – ИД-ове докумената које желите да преузмете.
Пример 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АЕзКСПитлЈ',
'_извор': {
'инцлуде': [ 'листед_ин', 'релеасе_иеар', 'титле' ],
'искључи': [ 'опис', 'тип', 'датум_доданог' ]
}
}
]
}'
Дати захтев користи изворно укључивање и искључивање да би одредио која поља желите да преузмете у датом документу.
Резултат је као што је приказано:
Закључак
У овом посту смо разговарали о основама рада са Еластицсеарцх мулти-гет АПИ-јем који вам омогућава да преузмете више докумената из различитих извора на основу њихових ИД-ова. Слободно истражите друге документе за више информација.
Срећно кодирање!