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

2023-12-20

我正拼命地尝试在 Lucene 中实现一项新功能,所以我向您求助。 基本上,在此 JIRA ISSE 中,一些额外的评分模型已添加到 Lucene 中:https://issues.apache.org/jira/browse/LUCENE-2959 https://issues.apache.org/jira/browse/LUCENE-2959

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

提前致谢,

Nik


正如 sdolgy 所提到的,您应该进行夜间构建:

Lucene: http://lucene.apache.org/core/developer.html http://lucene.apache.org/core/developer.html Solr: http://wiki.apache.org/solr/NightlyBuilds 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 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 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/ http://svn.apache.org/repos/asf/lucene/dev/trunk/solr/core/src/test-files/solr/conf/

例如,这个测试文件使用SchemaSimilarityFactory在不同字段上配置不同的DFR模型,以便它可以轻松测试各种组合是否有效,(我是not建议您为每个字段配置完全不同的评分系统,除非您知道自己在做什么,这是可能的,并且有一些如何配置工厂的示例):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-dfr.xml

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

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Lucene排名-如何使用新的4.0评分模型 的相关文章

  • 重用 Runnable 的最佳方式

    我有一个实现的类Runnable目前我正在使用 Executor 作为线程池来运行任务 将文档索引到 Lucene executor execute new LuceneDocIndexer doc writer 我的问题是我的 Runna
  • Apache Solr 6.6 替换文档而不是更新

    我已配置 solr 6 6 1 进行测试设置 在索引了一些文档后 我必须更新一些字段 我正在使用 python 客户端solr https pythonhosted org solrpy reference html 要更新 以下是我的代码
  • 如何在 Orchard CMS 上使用 lucene 查询语法

    我想使用完整的Lucene 查询语法 http lucene apache org core 2 9 4 queryparsersyntax html在基于 Orchard CMS 的网站上 目前 启用后索引和搜索 http docs or
  • 每个领域都有不同的分析仪

    如何为使用 Lucene 索引的文档中的每个字段启用不同的分析器 例子 RAMDirectory dir new RAMDirectory IndexWriter iw new IndexWriter dir new StandardAna
  • Lucene 上打开的文件太多错误

    我正在进行的项目是对一定数量的数据 长文本 建立索引 并将它们与每个时间间隔 大约 15 到 30 分钟 的单词列表进行比较 一段时间后 比如说第 35 轮 在开始索引第 36 轮的新数据集时 发生了此错误 ERROR 2011 06 01
  • Lucene 的 StopFilter 中使用的默认停用词列表是什么?

    Lucene 有一个默认的 stopfilter http lucene apache org core 4 0 0 analyzers common org apache lucene analysis core StopFilter h
  • Solr 中的多值字段排序

    我有一个 Solr 索引 将每个产品的价格存储在多值字段中 我需要按价格对结果集进行排序 其中价格从低到高 从高到低 我尝试对价格进行排序 它显示错误您无法对 multivalued True 字段进行排序 下面是我的 solr XML
  • 本地/离线网站“站点”的全文搜索[重复]

    这个问题在这里已经有答案了 可能的重复 通过 javascript 对 CD Rom 上的静态 HTML 文件进行全文搜索 https stackoverflow com questions 1357173 full text search
  • 在具有多个 Web 服务器的现有 .NET / SQL Server 堆栈上实施 Lucene

    我想考虑使用 Lucene 为我当前管理的网站提供全文搜索解决方案 该网站完全基于 SQL Server 2008 C NET 4 技术构建 我要索引的数据实际上非常简单 每个记录只有几个字段 并且只有其中一个字段实际上是可搜索的 我不清楚
  • 随着索引和文档数量恒定,elasticsearch 批量索引会随着时间的推移而变慢

    我遇到了使用 NET NEST 客户端和 ElasticSearch 进行批量索引的性能随着时间的推移 索引数量和文档数量恒定而降低的情况 我们正在奔跑ElasticSearch Version 0 19 11 JVM 23 5 b02在具
  • 如何在 Lucene 5 中获取 Span Term 查询的匹配范围?

    在 Lucene 中 要获取术语周围的单词 建议使用跨度查询 有很好的演练http lucidworks com blog accessing words around a positional match in lucene http l
  • 我们可以同时使用拼音标记和同义词吗?

    我正在尝试同时启用语音分析器和同义词 这似乎不起作用 它们一起使用有错吗 在下面的实现中 我希望使用同义词转换搜索查询 然后使用语音分析器来检索结果 但我的同义词在这里完全被忽略了 如果我在创建索引时删除语音分析器 那么同义词就可以正常工作
  • MultiFieldQueryParser 正在从首字母缩略词中删除点

    我再次发布这个问题 因为我的查询没有得到答复 我正在使用 Lucene 开发图书搜索 api 用户可以搜索标题或描述字段包含 C F A 的书籍 我正在使用 StandardAnalyzer 以及停用词列表 我使用 MultiFieldQu
  • 在elasticsearch中转义特殊字符

    我正在使用Elasticsearch python 客户端 https elasticsearch py readthedocs io en master 对我们托管的 elasticsearch 实例进行一些查询 我注意到一些字符需要转义
  • Lucene 4.0 中的术语频率

    尝试使用 Lucene 4 0 计算词频 我的文档频率工作得很好 但不知道如何使用 API 来执行术语频率 这是我的代码 private static void addDoc IndexWriter writer String conten
  • 如何统计lucene索引中每个文档的term数?

    我想知道 lucene 索引中每个文档的术语数量 我一直在 API 和互联网上搜索 但没有结果 你能帮助我吗 Lucene 的构建是为了回答相反的问题 即哪些文档包含给定术语 因此 为了获取文档的术语数量 您必须进行一些修改 第一种方法是存
  • 在云模式下设置 Apache Solr

    我必须执行以下操作 我必须在 2 个服务器 节点上部署 Solr 在另一台服务器上部署 Zookeeper 将自定义配置上传到 Zookeeper 创建具有 2 个分片和 2 个副本的自定义集合 Solr 7 4 0 和 Zookeeper
  • 测量文档集之间的相似性

    出于说明目的 我们假设这是一个论坛服务 我需要计算每个用户帖子之间的 相似度 结果如下 among posts by user A similarity 60 among posts by user B similarity 20 我正在处
  • 使用条件查询限制加入休眠搜索查询

    我想知道您如何将以下两个查询连接在一起 标准条件查询 Criteria result1 session createCriteria Store class add Restrictions eq department name categ
  • solr 不标记受保护的单词

    我在 Solr Lucene 3 x 中有一个文档 其中有一个特殊的复制字段facet headline 以便有一个用于分面的未词干字段 有时两个或以上的单词属于在一起 这应该被处理 算作一个单词 例如 kim jong il 因此标题 星

随机推荐

  • Android 上 libjpeg-turbo 的集成或构建说明

    在互联网上可以找到各种提到 Android 版 libjpeg turbo 的页面 example http comments gmane org gmane linux linaro devel 6967 他们都指向存储库here htt
  • 如何仅在 Swift 中将一个视图控制器的方向锁定为纵向模式

    因为我的应用程序支持所有方向 我想仅将纵向模式锁定到特定的 UIViewController 例如假设它是选项卡式应用程序 并且当登录视图以模态方式出现时 我只希望登录视图仅处于纵向模式 无论用户如何旋转设备或当前设备方向如何 当你有一个复
  • 模板智能感知

    我主要使用 C 而 VSCode 中缺少的一件事是 Angular 2 模板中的 IntelliSense 我发现这个问题有解决办法here https github com microsoft typescript issues 6508
  • 用于理解 OpenGL 中的视图、投影、“虚拟相机”或一般图形的资源 [关闭]

    Closed 此问题正在寻求书籍 工具 软件库等的推荐 不满足堆栈溢出指南 help closed questions 目前不接受答案 我注意到大多数资源要么假设您已经了解很多 要么假设您了解专业水平的数学 要么假设您将找到其他资源来填补空
  • 如何从 Python 以隐身模式打开 chrome

    这在 powershell 中有效 Start Process chrome exe ArgumentList incognito www foo com 如何通过 Python 实现这一点 使用网络浏览器在 chrome 中打开隐身模式的
  • 在 jQuery mousedown 处理程序中添加覆盖层后,Internet Explorer 泄漏单击事件

    In a mousedowndiv 的事件处理程序创建另一个新 div 并将其附加到主体 这个新的div有position fixed 也可以是position absolute 并且具有 100 宽度和 100 高度 因此它立即覆盖触发鼠
  • 更新 Flutter 项目中的 Gradle

    我有这个项目Flutter 但由于 Gradle 版本的原因 我已经有几周无法构建 apk 了 我已经尝试了所有方法 但 Flutter 总是返回以下错误 我已经安装了我发现的每个更新 尽管它显示 Gradle 版本是 4 10 2 颤动构
  • 读取 Excel Open XML 会忽略空白单元格

    我正在使用此处接受的解决方案 https stackoverflow com questions 3321082 from excel to datatable in c with open xml将 Excel 工作表转换为数据表 如果我
  • 将主机名解析为 IP 地址

    我开发了一个客户端 服务器模拟应用程序 我在两台不同的 Windows XP 计算机上部署了客户端和服务器 不知何故 客户端无法向服务器发送请求 我尝试了以下选项 使用 IP 地址从客户端成功 Ping 通服务器计算机 使用 IP 地址成功
  • 访问者模式 - 添加新的 ConcreteElement 类很难吗?

    我读了一本关于访客模式的书 它给出了与中相同的类图oodesign 的网站 http www oodesign com visitor pattern html 它说添加新的 ConcreteElement 类很困难 但我不明白为什么 据我
  • CORS 请求 - 为什么未发送 cookie?

    我有一个跨域 AJAX GET 它已成功预检 但 cookie 未附加到 GET 请求 当用户单击登录按钮时 会发出 POST 来使用户登录 这可以在跨域中正常工作 JavaScript 是 ajax signin url type POS
  • Lucene.net 模糊短语搜索

    我自己已经尝试了相当长的一段时间 并在网络上到处寻找 但一直无法找到任何通过 Lucene NET 2 9 2 进行模糊短语搜索的示例 C 是否能够建议如何详细执行此操作和 或提供一些示例代码 我将非常感谢任何帮助 因为我完全陷入困境 我假
  • 检查 Swift 中两个字符串表达式之间的相似度

    我扫描了文字 Mils chiiese wh ite ch col te 和表达式列表 例如 cheese bread white chocolate etc 我需要将损坏的表达式与我的列表中的表达式进行比较 例如 白巧克力 和 wh it
  • 如何解析“Build:‘Promise’仅指一种类型,但在此处用作值。”

    在打字稿中 我收到构建错误 提示 Build Promise 仅指类型 但在此处用作值 我的项目目标是 ES5 从这个帖子中 我可以通过将其更改为 ES6 来解决该问题 有没有办法在不改变目标的情况下解决问题 typescript 错误 T
  • 从 Swagger 文档生成 Yaml 或 Json 文件

    我使用 swagger springmvc 注释开发了一些由 swagger 记录的 Rest Web 服务 现在 我想使用 swagger editor 生成客户端 Rest Web 服务代码 但 swagger editor 需要 Ya
  • Java ME 双空格中的字符串替换

    如何在 Java ME 中将 a b 替换为 a b The replace 方法不接受字符串 只接受字符 由于双空格包含两个字符 我想我有一个小问题 你觉得这个怎么样 我自己尝试过一个 private String replace Str
  • Windows 上 Python 的长路径

    我在 Windows 下运行 Python 编程时遇到问题 我需要使用长度超过 256 个或任何限制字符的文件路径 现在 我基本上阅读了两种解决方案 使用 kernel32 dll 中的 GetShortPathName 并以这种方式访问
  • C# ValueTuple 属性命名

    我正在尝试 C 中的 ValueTuple 类 我对属性命名有疑问 让我们看看 如果实例化一个 ValueTuple 并声明该对象 如下所示 var tuple1 Name Name1 Age 25 我们可以命名属性 但是 像这样 Valu
  • 将 .plist 文件与 iCloud 同步

    我正在尝试弄清楚如何同步 Mac 沙盒应用程序中 应用程序支持 文件夹中的 plist 文件 我知道我可以使用 iCloud 键值存储 但每个应用程序有 64KB 的限制 这可能会或可能不会达到 具体取决于用户向应用程序添加了多少内容 我已
  • Lucene排名-如何使用新的4.0评分模型

    我正拼命地尝试在 Lucene 中实现一项新功能 所以我向您求助 基本上 在此 JIRA ISSE 中 一些额外的评分模型已添加到 Lucene 中 https issues apache org jira browse LUCENE 29