2010-09-03 3 views
8

Я знаю, что не означает, что это означает. Короче говоря, поле не будет обозначаться указанным Analyzer.Что делает Field.Index.NOT_ANALYZED_NO_NORMS значение

Однако, что такое NO_NORMS означает? Я вижу документацию, но, пожалуйста, объясните мне на простом английском языке. что такое индексное поле времени и повышение документа и нормализация длины поля?

+0

хороший вопрос и хороший ответ, спасибо большое! –

+0

Угнать этот вопрос за маленький мой. В чем разница между методами Field.Index.NOT_ANALYZED_NO_NORMS и Fieldable.SetOmitNorms()? –

ответ

10

Он отключает следующие функции:

  • индекса время поля и документ повышения: это означает, что индекс будет игнорировать любой подталкивания вы сделали для полей (AbstractField.setBoost) или документов (Document.setBoost). Соответствующий токен всегда будет стоить того же.
  • нормализация длины поля: это означает, что индекс будет игнорировать, соответствует ли соответствующий токен короткому полю (что должно быть более актуальным) по сравнению с длинным полем (менее релевантным). Опять же, соответствующий токен всегда будет стоить того же самого, независимо от длины поля.
+0

Итак, короткое поле, обозначенное как NO_NORMS, вообще не влияет на ранжирование результата, это то, что это значит? – ankitjaininfo

+0

Это неточно. Если поле помечено как NO_NORM, совпадения на нем влияют на ранжирование. Просто его рост и длина не делают. –

+0

Я не имел в виду, что соответствующий термин не влияет на ранжирование, я имел в виду, что он имеет ту же величину, независимо от длины поля. –