У меня есть несколько полей, которые либо содержат только один термин, либо я не хочу, чтобы они были лишены преимуществ, если они содержат большее количество терминов, и я никогда не увеличиваю поле, поэтому отключаю нормы для этих полей с помощью Field.Index. .ANALYZED_NO_NORM или Field.Index.NOT_ANALYZED_NO_NORM.
Но теперь, если я ищу, используя два поля
i.e
fielda:term1 OR fieldb:term2
и для поля a включены нормы, а для поля b нет, не означает ли это, что документы, соответствующие полю b, с большей вероятностью получат более высокие оценки, чем документы, соответствующие полю a, потому что оценка для документа, соответствующего только полю a, в конечном итоге будет иметь более низкую оценку в
weight = tf * idf * fieldnorm calculation.
потому что fieldnorm будет меньше единицы, если это поле содержит более одного термина
Это не то, что я хотел, я просто хотел, чтобы документ совпадал с полем b, который содержал бы три термина для оценки, а также совпадал с полем документа b с одним термином.
Правильно ли я понял, все дискуссии о норме поля сосредоточены на том факте, что она занимает память, и в ней нет необходимости, если ваше поле содержит только один термин. Я не читал обсуждения того, как это влияет на результаты из-за очевидного преимущества a поле с отключенными нормами имеет над полем с нормами.