Field.Set OmitNorms有什么用(true); 在lucene

Pra*_*sai 8 .net lucene

我被建议使用Field.Set OmitNorms(true); 在为lucenesearch创建文档时,根据命中数对结果进行排序,但我不知道它的作用是什么,是否安全.

根据命中数对结果进行排序意味着找到搜索文本的文档的最大次数应该位于顶部,其次是b匹配搜索文本的次数较少的文档.

我知道它很傻但我想在实施之前知道请帮忙.

Mak*_*aks 10

Check out this article for a good paragraph description of what omit norms does in term of optimisation. Basically its kind of like having a mini lucene index for the terms inside of a field, so its really only useful for fields that would have a lot of text inside them.

  • 该文件已被移动,但可以在互联网档案中找到http://web.archive.org/web/20101111232408/http://www.lucidimagination.com/Community/Hear-from-the-Experts/Articles/扩大规模的Lucene和Solr的 (4认同)

joe*_*eln 6

默认情况下,字段用其索引,norm文档的提升,字段的提升和字段长度标准化因子(见相似度评分)的乘积.这会为每个字段的存储和内存消耗添加一个字节,可以使用所选字段或字段类型省略omitNorms.

增量是在索引lengthNorm编制期间指定的,同时计算得如果两个文档与查询术语f时间匹配,则较长的文档将获得较低的分数.

因此,如果您希望根据匹配的术语的确切数量对文档进行评分,而不是与文档长度成比例的术语数量,请使用omitNorms(并免费获得内存消耗).