Что такое нормы в Lucene

Я не понимаю, что это такое, и действительно оценил бы простое объяснение, показывающее, какую ценность они привносят в мир, не слишком подробно описывая, как они работают.

Ответ 1

Норма является частью расчета счета. Конечно, норма могла быть рассчитана, как вам нравится. Главное, что устанавливает норму отдельно, вычисляется ли она по индексу-времени. Как правило, другие факторы, влияющие на оценку, вычисляются во время запроса в зависимости от того, насколько документ соответствует запросу. norm сохраняет эффективность запросов, сохраняя вместе с документом.

Стандартная реализация может быть найдена и хорошо описана в Lucene TFIDFSimilarity. Там он является продуктом повышения форсированного поля (или увеличивается количество всех полей, если несколько полей заданы в поле) и "lengthNorm" (который является рассчитанным коэффициентом, рассчитанным на более весовое совпадение на более коротких документах). Ни один из них не зависит от состава запроса, и поэтому есть хороший выбор для расчета и хранения в индексе времени.

Затем они сохраняются в сжатом и сильно убыточном однобайтовом формате (с точностью до 1 значащей десятичной цифры).

Ответ 2

Когда вы индексируете, обрабатываете свою исходную информацию, некоторые документы и поля будут рассматриваться как более важные, чем другие.

Например, задача состоит в том, чтобы шпионить за письмами ваших коллег. Сопоставление слов в поле заголовка важнее, чем сопоставление слов в поле тела. Мы делаем это путем умножения количества совпадений в поле заголовка на число, большее, чем мы используем для совпадений поля тела.

Пример индексируемых записей электронной почты

+----+-------------+--------------+
| ID | Title       | Body         |
|----+-------------+--------------|
| 7  | Back Monday | Ben was sick |
| 8  | I'm sick    | cover for me |
| 9  | Help        | I am stuck   |
+----+-------------+--------------+

Итак, поиск "больной" и умножение соответствия названию на 4 и соответствия тела на 2 и упорядочение по наивысшему счету в первую очередь - документы ранжируются с ID 9 вначале и с ID 8 во вторую (см. таблицу 1 ниже).

Таблица 1: Совпадения для слова "больной", упорядоченные по счету (по убыванию)

+----+---------+--------+-----------------------+
| Id | Title   | Body   | Score                 |
|    | Matches | Matches|                       |
|----+---------+--------+-----------------------|
| 8  | 1       | 0      | (1 * 4) + (0 * 2) = 4 |
| 7  | 0       | 1      | (0 * 4) + (1 * 2) = 2 |
+----+---------+--------+-----------------------+

Эти числа, 4 и 2, с которыми мы умножаем совпадения, являются нормой.