Наш индекс ElasticSearch содержит документы с полем с именем SourceId
(никогда не пустым) и полем с именем CustomCategories
. Поле CustomCategories
может быть пустым или содержать от 1 до 10 разделенных запятыми 5-значных кодов.
Мне нужно добавить пользовательский код категории ABCDE
во все документы, содержащие SourceIds 1,2,3,4,10,15,20,22.
Что такое запрос ElasticSearch, который я могу выполнить для этого, учитывая, что если поле CustomCategories
пустое, мне просто нужно заполнить его ABCDE
, тогда как если это поле НЕ пустое, Мне нужно добавить ,ABCDE
в конец любого значения, которое есть?
РЕДАКТИРОВАТЬ 1 : для запроса от @jaspreet_chahal приведен пример документа, а также отображение дляcustomCategories
поле:
Документ
{
"_index": "index123",
"_type": "wls_doc",
"_id": "JqkGxmYBwD-D6of2dr43",
"_score": 1.0,
"_source": {
"address": null,
"age": null,
"aliasList": null,
"caution": null,
"dateOfBirth": null,
"eyeColor": null,
"gender": null,
"hairColor": null,
"height": null,
"identifier": null,
"nationality": null,
"placeOfBirth": null,
"program": null,
"race": null,
"remarks": null,
"text": null,
"weight": null,
"entities": null,
"individualName": "John Doe",
"capturedDateTime": "2018-04-17T01:19:52.0131214",
"sourceId": 1,
"captureId": 194857,
"sourceAgencyAcronym": "ABC",
"sourceAgencyName": "Another Bad Creation",
"sourceCountry": "USA",
"sourceParentAgency": "Contoso",
"sourceRegion": "United States",
"url": "http://www.contoso.org",
"categories": [
"ABCDE",
"FGHIJ",
"KLMNO"
],
"customCategories": [
"XA001",
"XB001"
]
}
}
Отображение для поля customCategories:
"customCategories": {
"type": "text",
"fields": {
"keyword": {
"type": "keyword",
"ignore_above": 256
}
}
}