Выделите только точное совпадение слов

#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" } } } }  }   } }