2016-03-09 2 views
0

Я довольно новичок в 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 
+0

Что такое 'role' в вашей строке запроса? У вас его нет в документе. Вместо этого попробуйте 'q = groups.name: developers'. –

+0

То, что я имел в виду, это то, что я не могу изменить структуру документа для представления групп или ролей в виде строки, разделенной запятой, например, просто так, чтобы поиск был как-то проще. «Ролей» нет в документе и никогда не будет. – IanT8

+0

Хм. Возможно, можно использовать «q = groups.name: Developers». Мне придется попробовать. – IanT8

ответ

0

Действительно, я могу выбрать сотрудников, которые находятся в группе Developers, указав строку запроса как «q = groups.name: Developers». В самом деле, я мог бы также использовать подстановочный знак, чтобы получить кого-либо в группе Admin или Администраторы или Админы, используя «q = groups.name: Admin *»

+0

Действительно, для полного списка поддерживаемых параметров см. [URI Search] (https://www.elastic.co/guide/en/elasticsearch/reference/current/search-uri-request.html#search-uri-request) , –

Смежные вопросы