Всем привет.
Помогите организовать поиск по нескольким полям. Есть индекс вот с таким маппингом:
{
"russian_common": {
"mappings": {
"_doc": {
"fullname": {
"type": "text",
"copy_to": ["my_all_fields"],
"analyzer": "russian"
},
"about": {
"type": "text",
"copy_to": ["my_all_fields"],
"analyzer": "russian"
},
"marriage": {
"type": "text",
"copy_to": ["my_all_fields"],
"analyzer": "russian"
},
"my_all_fields": {
"type": "text",
"analyzer": "russian"
}
}
Мне надо реализовать запрос, который ищет сначала по полю my_all_field, например, "Сергей", а потом по полю marriage, например, "холост" Пока, с помощью bool запросов у меня получается поиск по полю my_all_field, а добиться того, чтобы и потом по полю marriage выполнялся поиск - не получается. Вот пример одного из моих запросов:
get russian_common/_search
{
"from": 0,
"size": 50,
"query": {
"bool":{
"must": [{"match": {"about": {"query": "холост"}}}],
"should": [{"match": {"my_all_fields": {"query": "Сергей"}}}]
}
}
}
Помогите с примером.
Спасибо!