Lucene排名 - 如何使用新的4.0评分模型

时间:2012-03-06 15:01:06

标签: lucene

拼命想在Lucene中实现一个新功能,我转向你。 在这个JIRA中,基本上已经为Lucene添加了一些额外的评分模型:https://issues.apache.org/jira/browse/LUCENE-2959

原谅我的无知,但我真的不明白如何获得该链接中描述的lucene的“版本”,以便我可以将它用于我自己的需要。该链接的作者提到他们已经实现了新的排名模型,如BM25,但我不知道从哪里获取源代码,也不知道如何使用这些新功能实现或运行Lucene。如果您对此有所了解,我们将非常感谢您的帮助。

提前感谢,

的Nik

3 个答案:

答案 0 :(得分:5)

正如sdolgy所提到的那样,你应该每晚施展一次:

Lucene:http://lucene.apache.org/core/developer.html Solr:http://wiki.apache.org/solr/NightlyBuilds

就如何使用这些模型而言,它非常简单。

来自Lucene,设置IndexSearcher的相似性:

indexSearcher.setSimilarity(new BM25Similarity());

从Solr中,在schema.xml中设置相似性:

<similarity class="solr.BM25SimilarityFactory"/>

可以进行更高级的配置(例如,设置参数,按字段配置等)。

对于Lucene,从包文档开始概述: https://builds.apache.org/view/G-L/view/Lucene/job/Lucene-trunk/javadoc/core/org/apache/lucene/search/similarities/package-summary.html

对于Solr,请查看各个工厂的javadoc: https://builds.apache.org/view/G-L/view/Lucene/job/Solr-trunk/javadoc/org/apache/solr/search/similarities/package-summary.html

如果您需要更高级的Solr配置示例,请查看http://svn.apache.org/repos/asf/lucene/dev/trunk/solr/core/src/test-files/solr/conf/

中的测试

例如,此测试文件使用SchemaSimilarityFactory在不同的字段上配置不同的DFR模型,以便它可以轻松测试各种组合是否正常工作(我建议您去配置完全不同的评分每个领域的系统除非你知道你在做什么,它只是可能的,并且有一些如何配置工厂的例子:http://svn.apache.org/repos/asf/lucene/dev/trunk/solr/core/src/test-files/solr/conf/schema-dfr.xml

此目录中也存在其他模型工厂的类似测试: http://svn.apache.org/repos/asf/lucene/dev/trunk/solr/core/src/test-files/solr/conf/schema-bm25.xmlhttp://svn.apache.org/repos/asf/lucene/dev/trunk/solr/core/src/test-files/solr/conf/schema-ib.xmlhttp://svn.apache.org/repos/asf/lucene/dev/trunk/solr/core/src/test-files/solr/conf/schema-lmdirichlet.xmlhttp://svn.apache.org/repos/asf/lucene/dev/trunk/solr/core/src/test-files/solr/conf/schema-lmjelinekmercer.xmlhttp://svn.apache.org/repos/asf/lucene/dev/trunk/solr/core/src/test-files/solr/conf/schema-tfidf.xml

答案 1 :(得分:2)

  

如果你想使用最新和最好的功能来检查每晚使用的主干,那么lucene 4.0没有官方/非官方发布日期。

http://lucene.apache.org/core/developer.html

  

svn checkout http://svn.apache.org/repos/asf/lucene/dev/trunk lucene_trunk

这应该是4.0,当然还有你想要的功能:

答案 2 :(得分:1)

从行李箱结帐。如果你想要的功能不存在,你需要一个Lucene补丁或每晚构建。由于您的功能的补丁已经存在,您可以检查并按照说明将补丁应用于您正在使用的lucene构建: http://wiki.apache.org/solr/HowToContribute#Review.2BAC8-Improve_Existing_Patches

cd {your.checkout.of.lucene.dir}
svn up
wget "https://issues.apache.org/jira/secure/attachment/12493806/LUCENE-2959.patch" -O - | patch -p0 

将修补程序应用于您的Lucene构建。