Я довольно новичок в ElasticSearch. Я использую v2.0.0. Я хотел бы знать, как сфокусировать поисковый запрос на одной части документа, чтобы ответить на вопрос «Получите меня (страница из 50) Люди, которые входят в группу« Разработчики ».Как сфокусировать поиск по одной части документа
Структура документа одного человека может выглядеть как что-то вроде этого:
{
"_index": "people",
"_type": "employee",
"_id": "8725",
"_source": {
"id": 43470,
"firstName": "John",
"lastName": "Smith",
"groups": [
{
"id": 345,
"name": "Developers"
},
{
"id": 75432,
"name": "Scrummasters"
},
{
"id": 5789,
"name": "UX"
}
]
}
}
так что я хочу сделать, это посмотреть на имя каждой группы каждого человека, чтобы увидеть, если это соответствует тому, что я ищу, и если да, то выберите все лицо. Позиция того, что я ищу, явно не статична, и я не могу сделать что-то более простое, например
q=roles:developer
Что такое 'role' в вашей строке запроса? У вас его нет в документе. Вместо этого попробуйте 'q = groups.name: developers'. –
То, что я имел в виду, это то, что я не могу изменить структуру документа для представления групп или ролей в виде строки, разделенной запятой, например, просто так, чтобы поиск был как-то проще. «Ролей» нет в документе и никогда не будет. – IanT8
Хм. Возможно, можно использовать «q = groups.name: Developers». Мне придется попробовать. – IanT8