如何根据特定字段对 solr 查询的前 100 个结果进行排序?

2024-05-12

我想使用特定字段对 solr 的前 100 个文档进行排序,但它对整个结果集进行排序,然后显示结果,以下是我的代码。

    query1.setQuery(" Natural Language ");
    query1.setStart(0);
    query1.setRows(100);
    int i=0;
    query1.set("df","Text");
    query1.setFields("PaperID","TotalPageRank");
    query1.setSort("customrank", SolrQuery.ORDER.desc);

是否可以使用 solr 查询使用 customrank 字段对前 100 个文档进行排序?


您可以尝试使用查询重排序功能 https://lucene.apache.org/solr/guide/6_6/query-re-ranking.html。这允许您发出一个查询,检索前 N 个条目,然后根据第二个查询对这些条目重新排名。这通常用于在对这些条目应用昂贵的查询以进行重新排名之前,通过一个简单的查询来限制文档总数,但用例似乎足够相似。

文档页面上的示例的改编版本可能类似于(我无法对此进行测试,因此请添加注释并根据您的用例进行调整):

rq={!rerank reRankQuery=$rqq reRankDocs=100 reRankWeight=3}&rqq=_val_=customrank

您可能需要调整重新排名权重以使您的自定义排名对最终分数做出更多贡献,因为我认为您无法明确排序

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

如何根据特定字段对 solr 查询的前 100 个结果进行排序? 的相关文章

  • 对 SolrConfig.xml 文件的更新未得到反映

    我在 SolrConfig xml 文件中添加了一个新的请求处理程序 但是每当我尝试使用新的处理程序时 我都会收到带有 未知处理程序 错误的 404 修改SolrConfig xml文件时是否还需要修改其他文件 Thanks 您需要重新启动
  • Solr 精确单词搜索

    我想配置我的 Solr 搜索引擎 以便获得与我输入的搜索词完全匹配的结果 例如 taxes 应该返回带有 taxes 的文档 而不是 tax taxation 等 任何帮助或提示将不胜感激 我假设您的字段是 TextField 默认情况下
  • Solr - 从数据库导入日期时间字段 -> 2 小时差异

    我正在 Solr 中导入日期时间列 SQLServer 并且 solr 中的值始终比数据库中早 2 小时 并且具有完整导入和增量导入 我已经用正确的时间配置了jvm 在日志中它显示了正确的时间 我想我必须在 data config xml
  • Node.getTextContent() 在 Node 中未定义

    在我的项目中我面临一个问题 getTextContent 方法是 节点类型未定义 我目前使用的是jdk 1 5 谁能告诉我这是什么意思 如果您遇到这个问题Eclipse 我测试的解决方案是 Java Build Path Order and
  • 如何使用 Solr Provider 控制 Sitecore ContentSearch 中嵌套查询的优先级?

    版本详情 我正在使用 Sitecore 7 5 build 141003 使用 Solr v4 7 作为搜索引擎 索引服务器 我还使用标准 Sitecore Solr 提供程序 没有自定义索引器 目标目标 我使用 Sitecore Cont
  • 将 Nutch 爬虫与 Solr 结合使用

    我可以将 Apache Nutch 爬虫程序与 Solr 索引服务器集成吗 Edit 我们的一位开发人员从这些帖子中提出了一个解决方案 运行 Nutch 和 Solr http wiki apache org nutch RunningNu
  • 如何使用 Apache SOLR 和 PHP 代码突出显示搜索结果

    我使用 SOLR 和 Tomcat servlet 容器开发了搜索页面 使用 PHP 代码 我将搜索查询发布到 solrQuery 函数中 并在此函数中定义了查询参数 如下所示 query q trim urlencode q versio
  • SolrCloud:无法创建集合、锁定问题

    我一直在尝试实现 SolrCloud 一切正常 直到我尝试创建包含 6 个分片的集合 我的设置如下 5 个虚拟服务器 全部运行 Ubuntu 14 04 由一家公司跨不同数据中心托管 为整体运行 ZooKeeper 3 4 6 的 3 台服
  • Solr 索引与存储

    我对太阳能场的索引和存储属性的行为有点困惑 例如 如果我在 Schema xml 中有以下内容
  • 为什么无法使用 CentOS、plesk 9.2.1 和 tomcat 5.5 安装 solr 1.3.0?

    好吧 我只是通过他的托管提供商为我的客户设置了一个专用服务器 他们在那里安装了 plesk 版本 9 2 1 并且该专用服务器的一个警告是 如果我在控制面板之外 即使用 SSH 执行任何任务 他们不保证支持该软件组件 这很好 因为我宁愿使用
  • LUCENE:搜索与正则表达式匹配的术语

    我需要搜索 lucene 索引中的任何术语 匹配特定的正则表达式 我知道我可以使用TermsComponent在solr中 如果配置如下
  • 更改 SOLR 默认连接

    我正在使用嵌入 SOLR 的应用程序 SOLR 在 Tomcat 的 webapp 区域中像一场战争一样运行 是否有 SOLR 配置允许我切换搜索的默认 SOLR 行为以假定 AND 而不是 OR 作为连接运算符 在您的模式文件中添加 或修
  • SolrNet:过滤查询时保留 Facet 计数

    当我查询时 我收到以下方面 Field1 Key Best Facet 1 Value 999 Key Best Facet 2 Value 999 Field2 Key Second Best Facet 1 Value 421 Key
  • 对 solr 搜索结果进行排序。给出错误无法对多值字段进行排序:名称

    我对 Apache Solr 搜索比较陌生 我正在尝试对 Solr 查询中的结果集进行排序 查询 名称 abc AND 隐藏 false sort name desc 它显示错误 无法对多值字段进行排序 名称 Solr版本是 7 2 1 如
  • DataImportHandler 未在 solr admin 中索引 mysql 表

    我正在尝试使用 DataImportHandler 在 solr 中索引 mysql 表 但它似乎没有索引 数据配置 xml
  • 复杂的 SOLR 查询,包括 NOT 和 OR

    我对 SOLR 搜索有一些相当复杂的要求 我需要针对标记内容的数据库执行这些搜索 我需要首先过滤数据库以获取与我的过滤器标签匹配的结果 任何具有黑名单中的标签的结果都应被删除 除非它们也包含白名单中的标签 假设我想检索所有标记为 森林 或
  • 使用 sunspot/solr 搜索多个模型

    我已经能够成功地实现基本的全文搜索 但是当我尝试使用范围 with statements 时 任何涉及多对多关系模型的查询似乎都不适合我 我知道相关行位于数据库中 因为我的 sql 语句确实返回了数据 然而 太阳黑子查询不会返回任何结果 我
  • 如何使用 lucene 查询找到空的 Solr 文档字段

    我有一些这样的文件
  • 如何将 Solarium 配置为使用 POST 而不是 GET 请求

    我面临的问题是我们发送到 solr jetty 的 uri 变得很长 超过 9k 字节 超出了 jetty 的默认限制 解决方案是从 GET 请求切换到 POST 请求 因为我们不想增加 jetty 可以接受的 requestHeaderS
  • 在 Solr 中实现术语关联挖掘的最简单方法是什么?

    关联挖矿似乎为检索提供了良好的结果相关术语在文本语料库中 有很多关于这个主题的著作 其中包括著名的LSA http en wikipedia org wiki Latent semantic analysis方法 挖掘关联最直接的方法是构建

随机推荐