Я внедряю решение Elasticsearch для системы электронной коммерции, в котором я использую термин «предложить», чтобы попытаться создать функцию «Вы имели в виду ...»
Для орфографических ошибок, она работаетдействительно хорошо
Например, если я ищу hampster
, то возвращается запрос с правильным написанием hamster
, именно то, что я хочу
Проблема возникает, когда я что-то ищукак food
, он возвращается с предложением fold
, что я не хочу, чтобы он делал
Я пытаюсь понять, есть ли что-то встроенное в Elasticsearch, которое позволяет мне увидеть это food
является допустимым термином, который не нуждается в предложении
Не уверен, что это полезно, но вот мой запрос и ответ (PHP)
Array
(
[suggest] => Array
(
[spell_check] => Array
(
[text] => food
[term] => Array
(
[field] => name
)
)
)
)
Array
(
[took] => 1
[timed_out] =>
[_shards] => Array
(
[total] => 5
[successful] => 5
[skipped] => 0
[failed] => 0
)
[hits] => Array
(
[total] => 0
[max_score] => 0
[hits] => Array
(
)
)
[suggest] => Array
(
[spell_check] => Array
(
[0] => Array
(
[text] => food
[offset] => 0
[length] => 4
[options] => Array
(
[0] => Array
(
[text] => fold
[score] => 0.75
[freq] => 1
)
[1] => Array
(
[text] => feed
[score] => 0.5
[freq] => 4
)
[2] => Array
(
[text] => four
[score] => 0.5
[freq] => 1
)
)
)
)
)
)