0

У меня есть индекс с полем singers отображение как:Как найти точную фразу с полем массива в Elasticsearch?

"singers": { 
    "type": "string", 
    "index_name": "singer", 
    "analyzer": "unicode_analyzer" 
} 

Пример данных, таких как:

"singers": [ 
    "Đàm Vĩnh Hưng", 
    "Thanh Lam (NSƯT)" 
] 

Теперь я хочу, чтобы найти, если индекс имеет точно певец имя «Джам Vĩnh Hưng», как я могу сделать что?

В настоящее время я пытался:

{ 
    "query": { 
     "terms": { 
     "singers": [ 
      "Đàm Vĩnh Hưng" 
     ] 
     } 
    } 
} 

Но результат пуст.

Любые советы приветствуются. Спасибо вам, ребята.

После попытки, я решил это, когда использую match_phrase. Я сохраню это для тех, кто встречает ту же проблему. Закройте это. Спасибо.

+0

Вы должны создать ответ с помощью своего решения и принять его. – Val

+0

@Val Благодарим вас за помощь. – codeaholicguy

ответ

1

Использование match_phrase.

{ 
    "query": { 
     "match_phrase": { 
     "singers": "Đàm Vĩnh Hưng" 
     } 
    } 
} 
Смежные вопросы