Дает ли отключение норм для одного поля преимущество перед другими полями при поиске в нескольких полях? - PullRequest
0 голосов
/ 07 марта 2012

У меня есть несколько полей, которые либо содержат только один термин, либо я не хочу, чтобы они были дезавуированы, если они содержат большее количество терминов, и я никогда не увеличиваю поле, поэтому отключаю нормы для этих полей с помощьюField.Index.fieldb этого не делает, не означает ли это, что документы, которые соответствуют fieldb, с большей вероятностью получат лучшую оценку, чем документы, которые соответствуют fielda, потому что оценка для документа, соответствующего только fielda, в конечном итоге будет иметь более низкий балл в

weight = tf * idf * fieldnorm calculation.

потому что fieldnorm будет меньше единицы, если это поле содержит более одного термина

Это не то, что я хотел, я просто хотел, чтобы документ соответствовал на fieldb, который содержал три условия для оценки, а также совпадение дляполе документаb с одним термином

Правильно ли я понял, все дискуссии о полевых нормах фокусируются на фаCt, что это занимает память, и это не обязательно, если ваше поле содержит только один термин. Я не читал никаких дискуссий о том, как оно влияет на результаты из-за очевидного преимущества, которое поле с отключенными нормами имеет над полем с нормами.

1 Ответ

0 голосов
/ 08 марта 2012

Моя рекомендация - не смешивать запросы к полям, чьи нормы отключены, с запросами к стандартным полям.Смысл отключения норм состоит в том, чтобы сэкономить место, когда запрос используется только как фильтр (и не влияет на оценку).

Элегантный способ сделать то, что вы хотите, состоит в том, чтобы иметь два разных сходства для вашегополя.Однако эта функция ( сходство для каждого поля ) в настоящее время доступна только в версии для разработки.

...