#elasticsearch
#эластичный поиск
Вопрос:
Предположим, у меня есть следующий документ:
{ name: "john doe", ... }
Теперь при поиске zohn
(с ошибкой) Я хочу, чтобы у меня была возможность вернуть документ, приведенный выше, но без выделения слова «джон», я хочу выделить его только в том случае, если есть точное совпадение john
, а не нечеткое совпадение.
{ query: { fuzzy: { name: "zohn" } }, highlight: { fields: { name: {} } } }
Фактический объем производства:
{ ... _source: { name: "john doe", ... }, highlight : { name: [ "lt;emgt;johnlt;/emgt; doe" ] } }
Ожидаемый результат:
{ ... _source: { name: "john doe", ... }, // No highlight }
Примечание: Я знаю, что это можно сделать с помощью запроса выделения, но я не уверен, что есть лучший способ сделать это.
{ query: { fuzzy: { name: "zohn" } }, highlight: { fields: { name: { highlight_query: { query: { match: { name: "zohn" } } } } } } }