Что является хорошим вариантом использования опции omit_norms
в elasticsearch? Я не мог найти адекватного объяснения на веб-сайте.
Elasticsearch: когда установить опцию omit_norms как false
Ответ 1
Нормы - это значение, хранящееся в индексе вместе с полем и используемое для подсчета очков. С алгоритмом оценки по умолчанию это объединяет lengthNorm
(который служит для взвешивания коротких полей более тяжелыми, чем длинные), и любые повышения на уровне поля. Подробнее об этом можно узнать в документации Lucene.
Аспект LengthNorm в основном полезен для правильных полных текстовых полей. В более структурированных полях, в которых вам не нужно повышать поле, вы можете спокойно их опустить.
Ответ 2
Нормы включены по умолчанию для всех проанализированных полей, поскольку они используются для подсчета очков. Говоря простыми словами, они делают более короткие поля более высокими, чем более длинные. Всякий раз, когда кто-то не хочет этого или не хочет, чтобы поле вносило вклад в _score
, можно было бы отключить нормы.
Начиная с версии Elastic 2.0, вы можете добавить "norms": { "enabled": false }
при определении поля в отображении.
Для таких случаев, как регистрация, нормы не являются полезными.
Более подробную информацию можно найти в этой статье в эластичном руководстве