2

Я создал автозавершение с Elasticsearch 2.x.x. и одним из моих автодополняемых значений является «3M». Я настроил нечеткость АВТО и мое отображение только по умолчанию:Elasticsearch Неверный запрос на строку с номером

"mapping": { 
    "type": "completion", 
    "analyzer": "simple", 
    "payloads": false, 
    "preserve_separators": true, 
    "preserve_position_increments": true, 
    "max_input_length": 50 
} 

на основе this documentation анализаторы должны быть простыми и размытость AUTO означает на ошибках MAX 2 орфографических.

Вот и проблема: всякий раз, когда я печатаю «1000000M», он по-прежнему автоматически завершает «3M», хотя 1000000 и 3 превышают лимит из 2 орфографических ошибок.

Имеет ли Elastic 1000000 и 3 оба числа, и я ищу {число} M?

Я бы хотел, чтобы числа отображались как фактические ошибки орфографии, поскольку это не предпочтительное поведение.

Даже когда я установил Fuzziness в ZERO, он по-прежнему исправляет 1000000M до 3M.

ответ

0

Решение было довольно простым. Все, что я должен был сделать, это изменить мой анализатор от simple до keyword. Одно дело иметь в виду, хотя это ключевое слово не использует анализатор нижнего регистра, что означает, что ваши автозавершения будут чувствительны к регистру, если только .toLowercase() все это самостоятельно

Смежные вопросы