2010-09-03 243 views
8

我知道什么是not_analyzed的意思。总之,该字段不会被指定的分析器标记。Field.Index.NOT_ANALYZED_NO_NORMS意味着什么

但是,NO_NORMS是什么意思?我看到了文档,但请用简单的英文解释我。什么是索引时间字段和文件提升字段长度正常化

+0

很好的问题和很好的答案,非常感谢! – 2012-07-02 09:55:06

+0

劫持这个问题是我自己的一个小问题。 Field.Index.NOT_ANALYZED_NO_NORMS和Fieldable.SetOmitNorms()方法有什么区别? – 2012-12-12 15:30:25

回答

10

它禁用以下特点:

  • 索引时间字段和记录提高:这意味着指数会忽略你对字段(AbstractField.setBoost)或文件(Document.setBoost)的任何提升。匹配的令牌总是值得一样的。
  • 字段长度标准化:这意味着索引将忽略匹配的令牌是否在短字段(应该更相关)与长字段(不太相关)之间。同样,不管场地的长度如何,匹配的标记永远都是相同的。
+0

所以总之标记为NO_NORMS的字段根本不影响结果的排名,那是什么意思? – ankitjaininfo 2010-09-07 18:03:15

+0

这是不准确的。如果一个字段被标记为NO_NORM,那么术语匹配会影响排名。只是它的提升和长度不会。 – 2010-09-08 06:53:34

+0

我并不是说一个匹配的术语不会影响排名,我的意思是它的长度相同,无论这个字段的长度如何。 – 2010-09-08 08:06:19