2010-09-03 293 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