Я хочу, чтобы следующий запрос возвращал результаты, где точные фразы, разделенные ИЛИ, совпадают в определенном поле.
{
"query": {
"nested": {
"path": "positions",
"query": {
"bool": {
"must": [
{
"query_string": {
"default_field": "positions.companyname",
"query": "microsoft OR gartner OR IBM"
}
},
{
"query_string": {
"default_field": "positions.title",
"query": "(Chief Information Security Officer) OR (Chief Digital Officer)"
}
}
]
}
},
"inner_hits": {
"highlight": {
"fields": {
"positions.title": {}
}
}
}
}
}
}
Результаты должны содержать точное Главный сотрудник по информационной безопасности ИЛИ Главный сотрудник по цифровым данным ,
но не Шеф Цифровой Маркетинг Сотрудник ИЛИ Шеф Информация Офицер , поскольку он в настоящее время возвращается.
Кроме того, поле может не обязательно содержать точную фразу для поиска.
Например:
«Директор по информационным технологиям» -> FALSE
"Начальник отдела цифровых технологий - главный специалист по цифровым технологиям" -> ИСТИНА
«Бывший главный специалист по информационной безопасности» -> ИСТИНА
"Главный информационный директор" -> Неверно
Полагаю, я пытаюсь подчеркнуть, что эти фразы всегда должны быть рядом (близость).