- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
【重要】有关Lucene的问题 影响Lucene对文档打分的四种方式
HYPERLINK /category/95698 /category/95698
在索引阶段设置Document Boost和Field Boost,存储在(.nrm)文件中。
如果希望某些文档和某些域比其他的域更重要,如果此文档和此域包含所要查询的词则应该得分较高,则可以在索引阶段设定文档的boost和域的boost值。
这些值是在索引阶段就写入索引文件的,存储在标准化因子(.nrm)文件中,一旦设定,除非删除此文档,否则无法改变。
如果不进行设定,则Document Boost和Field Boost默认为1。
Document Boost及FieldBoost的设定方式如下:
Document doc = new Document();
Field f = new Field(contents, hello world, Field.Store.NO, Field.Index.ANALYZED);
f.setBoost(100);
doc.add(f);
doc.setBoost(100);两者是如何影响Lucene的文档打分的呢?
让我们首先来看一下Lucene的文档打分的公式:
score(q,d)?? =??? HYPERLINK /forfuture1978/ \l formula_coord coord(q,d)? ·?? HYPERLINK /forfuture1978/ \l formula_queryNorm queryNorm(q)? ·??∑(? HYPERLINK /forfuture1978/ \l formula_tf tf(t in d)? ·?? HYPERLINK /forfuture1978/ \l formula_idf idf(t)2? ·?? HYPERLINK /forfuture1978/ \l formula_termBoost t.getBoost()?·?? HYPERLINK /forfuture1978/ \l formula_norm norm(t,d)?)
?????????????????????????????????????????????????????????????????????? t in qDocument Boost和Field Boost影响的是norm(t, d),其公式如下:
norm(t,d)?? =??? HYPERLINK /org/apache/lucene/document/Document.html \l getBoost() doc.getBoost()? ·?? HYPERLINK /org/apache/lucene/search/Similarity.html \l lengthNorm(java.lang.String,%20int) lengthNorm(field)? ·??∏ HYPERLINK /org/apache/lucene/document/Fieldable.html \l getBoost() f.getBoost()
field?f?in?d?named as?t它包括三个参数:
Document boost:此值越大,说明此文档越重要。
Field boost:此域越大,说明此域越重要。
lengthNorm(field) = (1.0 / Math.sqrt(numTerms)):一个域中包含的Term总数越多,也即文档越长,此值越小,文档越短,此值越大。
其中第三个参数可以在自己的Similarity中影响打分,下面会论述。
当然,也可以在添加Field的时候,设置Field.Index.ANALYZED_NO_NORMS或Field.Index.NOT_ANALYZED_NO_NORMS,完全不用norm,来节约空间。
根据Lucene的注释,No norms means that index-time field and document boosting and field length normalization are disabled.? The benefit is less memory usage as norms take up one byte of RAM per indexed field for every document in the index, during searching.? Note that once you index a given field with norms enabled, disabling norms will have no effect. 没有no
您可能关注的文档
最近下载
- 市政基础设施工程施工现场质量管理标准化.doc
- 手机照片视频误删后的恢复方法.doc VIP
- 一例无法控制大脑的心理咨询案例——以人为中心疗法取向.pdf VIP
- [教你如何制作KTV歌曲VOD歌曲KTV歌曲库.doc VIP
- 照明设计软件:AGI 32二次开发_AGI32数据管理与优化.docx VIP
- 第五届潍坊市职业技能大赛城市管理网格员题库及答案(760题).docx VIP
- 鼻肠管滑脱的应急预案.pptx VIP
- DGT 801系列数字式发电机变压器组保护装置技术说明书.pdf
- 广东省肇庆市怀集县事业单位考试真题每日一练带答案解析(2021年03月02日).docx VIP
- 农村教师公开选调进城考试模拟试题1(初中地理·附参考答案).docx
文档评论(0)