优化 Solr 的排序

2024-03-01

我正在使用 Solr 进行实时搜索索引。我的数据集大约有 60M 大文档。我需要按时间排序,而不是按相关性排序。目前,我在查询中使用排序标志按时间排序。这对于特定搜索效果很好,但是当搜索返回大量结果时,Solr 必须获取所有结果文档并在返回之前按时间对它们进行排序。这很慢,必须有更好的方法。

更好的方法是什么?


我找到了答案。

如果您想按时间而不是相关性排序,请对所有过滤器使用 fq= 而不是 q=。这样,Solr 就不会浪费时间计算与 q= 匹配的文档的权重值。事实证明,Solr 花费了太多时间进行加权,而不是排序。

此外,您可以通过在 solrconfig.xml 中的 newSearcher 和 firstSearcher 事件侦听器中预热排序字段来加快排序速度。这将确保排序是通过缓存完成的。

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

优化 Solr 的排序 的相关文章

  • Solr 您的意思是(拼写检查组件)

    我在我的应用程序中使用 solr 并集成了拼写检查组件 但我遇到了一些问题 第一的 当我输入一个用空格分隔的术语时 他们会给我每个术语的更正 Eg 水 gt 什么术语 但事实是watters 第二 当我输入一些带有错误术语的短语时 尽管其他
  • Solr 动态价格范围和组

    跟进问题 如何获取 solr 结果中的方面范围 https stackoverflow com questions 33956 how to get facet ranges in solr results SolR 查询 价格范围 htt
  • cursorMark是无状态的以及它如何解决深度分页

    作为指定here https cwiki apache org confluence display solr Pagination of Results光标标记是无状态的 但我不明白它是如何解决无状态的深度分页问题的 solr 是否按唯一
  • 如何使用 solrnet 在 solr 中使字段搜索不区分大小写

    在 solr 模式中我有如下字段
  • MultiFieldQueryParser 正在从首字母缩略词中删除点

    我再次发布这个问题 因为我的查询没有得到答复 我正在使用 Lucene 开发图书搜索 api 用户可以搜索标题或描述字段包含 C F A 的书籍 我正在使用 StandardAnalyzer 以及停用词列表 我使用 MultiFieldQu
  • 在 Solr 中实现术语关联挖掘的最简单方法是什么?

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

    如何使用 SOLR Admin 删除 SOLR 索引中的所有文档 我尝试使用该网址并且它有效 但想知道是否可以使用管理员来完成相同的操作 使用下面的查询之一DocumentSolr 管理 UI 选项卡 XML
  • Solr/Solrj 分页

    我正在创建的 Web 应用程序中使用 solr 和 solrj 来实现索引和搜索功能 我的请求处理程序在 solrconfig xml 中配置如下
  • 如何备份Solr数据库?

    我想知道如何备份 转储 Solr 数据库 如果只是复制一些文件 请指定哪些文件 文件名 位置等 Thanks We use Solr复制 http wiki apache org solr SolrReplication做我们的备份 您可以
  • Solr 中的拼写检查中阈值频率不起作用

    我得到stuck在中间Solr 我只需要最流行的词 w r t query 我用过语音过滤器双方索引和查询但这里的problem是它正在给予术语太多 我只需要几个术语这是非常具体的query 模式 xml
  • 在 Solr 更新中指定多值术语频率?

    我有一个包含多值字段的 Solr 模式 我正在 Solr 外部解析文档并使用更新索引http wiki apache org solr UpdateJSON http wiki apache org solr UpdateJSON 也可以看
  • Elasticsearch 与 Cassandra 对比 Elasticsearch 与 Cassandra

    我正在学习 NoSQL 并正在寻找满足客户要求之一的不同选项 在提出这个问题之前我已经查阅了各种资源 一个对NoSQL知之甚少的人 我需要以更快的速度存储数据并读取数据 完全故障安全且易于扩展 能够搜索数据进行分析 我最终得到了一个简短的清
  • 如何知道 Solr Optimize 何时完成?

    我正在使用 Solr php client 通过 php 与 Solr 进行通信 这段代码触发solr优化命令 solr gt optimize 请问有没有什么方法可以确定优化完成了 这都是因为我的网站上有一个管理页面 我每天必须手动优化
  • 在 solr 的类路径中找不到资源“solrconfig.xml”

    problem 我无法访问 solr 管理页面 当我在本地系统上运行 url 时 response
  • 使用 dismax 处理程序进行通配符搜索?

    我已成功索引文件 并且希望能够使用通配符进行搜索 我目前正在使用 dismaxRequestHandler QueryType dismax 进行搜索 以便我可以搜索查询的所有字段 像 computer 这样的常规搜索会返回结果 但 com
  • Django-Haystack 和 Solr 8.5.1

    Django haystack 是否适用于最新的 Solr 更新 8 5 1 另外我如何设置我的 Django 博客项目 CentOS 8 Solr 8 7 Django Oscar 3 0 1 安装Java yum update yum
  • Solr 自定义相似度

    我想在我的 solr schema xml 中设置我自己的自定义相似度 但我在理解此功能时遇到一些问题 我想完全停用 solr 评分 tf idf coord 和 fieldNorm 我不知道从哪里开始 我知道的事情 我必须编写自己的 De
  • 特定查询出现错误

    Lucene 的新手 我在 java 客户端中将它与 Hibernate 一起使用 并且在特定查询上收到此错误 HSEARCH000146 The query string a applied on field name has no me
  • 不指定字段名查询Solr

    我是 Solr 的新手 我一定错过了一些东西 我在示例模式中还没有接触太多 我导入了一些示例数据 我也设置了LocalSolr 这似乎运作良好 我的问题只是查询Solr一般来说 我有一份文件 其中name字段设置为tom 我一直在查看配置文
  • 如何增强solr中的字段

    我已经事先确定了提升 我在 solr 索引中有一个名为boost1 该提升字段的值介于 1 到 10 之间 类似于 google PR 排名 这是应该应用于 solr 中运行的每个查询的提升 这是我的索引中的字段 Id Title Text

随机推荐

  • 标准库函数在 C 中如何工作? [复制]

    这个问题在这里已经有答案了 在浏览 C 标准库函数时 glibc 我找到printf 实际上打电话puts 功能 IO puts 但我无法找出 put 函数实际上是如何写入的stdout 是否使用write 系统调用定义在unistd h或
  • 带有虚线图案的渐变线

    我需要创建一条具有线性渐变的虚线 我设法使用创建了一条虚线 hr 以及以下样式 line border 0px border bottom 2px dashed 我也知道要实现渐变 我需要这样做 background webkit grad
  • 在 ec2 中启动 minikube 显示“X 抱歉,Kubernetes v1.18.0 需要将 conntrack 安装在 root 路径中”

    我正在尝试启动 Minikube 所以我跑了 minikube start vm driver none 但它在控制台中显示以下行 Amazon 2 Xen amd64 上的 minikube v1 9 2 根据用户配置使用无驱动程序 X
  • 使用 Google Apps 脚本 (GAS) V8 定义私有类字段

    自从 Google 推出 V8 引擎以来 我正在将一些代码迁移到新引擎 ES6 允许定义私有类 但是在 Google App Script 上运行时 我收到错误 Example class IncreasingCounter count 0
  • SharePlum 错误:“无法获取用户信息列表”

    我正在尝试使用分享梅花 https pypi python org pypi SharePlum 0 1 1这是 SharePoint 的 Python 模块 但是当我尝试连接到我的 SharePoint 时 SharePlum 会向我抛出
  • 对象拥有 QObject 派生类集合的正确方法是什么?

    我正在尝试创建一个类 公开 QObject 派生类 具有其自己的 qt 属性 的集合 或多个 我可以在 qml 中使用 qt 属性 根据http qt project org doc qt 5 0 qtcore qobject html n
  • 如何从wpf中的代码隐藏更改控件的Grid.Row和Grid.Column

    我已将控件放置在DataGrid像这样
  • python结构解包长度错误

    我有一个长度为 41 的字节对象 我尝试用以下方法解压它 struct unpack 2B2B32sBi data 但我收到一个错误 struct error 解包需要长度为 44 的字节对象 我认为长度2B2B32sBi应该2 1 2 1
  • 使c++程序在windows中的特定核心上运行

    我想知道如何强制 Visual Studio 中的 C 程序在特定的核心上运行 在拥有多个核心的计算机上 i found this https stackoverflow com questions 8326427 how to force
  • 以编程方式设置Android动画列表

    我正在尝试将 gif 动画添加到我的应用程序中 1 我可以从服务器下载 gif 动画 2 我能够解码动画 gif 使用我的自定义解码器 并拥有与其帧相对应的单独位图 现在我想使用逐帧动画来制作它的动画 正如我所读到的 要执行逐帧动画 首先需
  • 如何设置camel处理器或其他路由成分的id

    Camel 自动生成处理器和其他内容的 ID processor1 processor25 有没有办法设置这个名字 我们需要通过 jmx 识别某些处理器来获取遥测数据 我想要设置的名称是通过属性给出的 它们在开始时是已知的 因此 我需要在定
  • jQuery 交换图像未加载

    我正在尝试使用 jQuery attr 将图像从 Images origImage 的原始图像源位置交换到 Images newImage 的新图像源位置 当我单击 div 时 如果右键单击图像并查看地址 URL 属性 图像 Url 属性会
  • 如何将不同类型的列插入到numpy数组中?

    我想附加两个类型的 numpy 数组np datetime64 and int到另一个 这会导致错误 我需要做什么来纠正这个问题 如果我将向量附加到自身上 即 np append c c axis 1 or np append a a ax
  • 如何设置gdb的默认选项?

    我每次打开 GDB 时都会设置几个选项 例如 set print thread events off 有没有办法默认设置这些选项 也许类似于 gdb rc 文件 初始化文件为gdb叫做 gdbinit 您可以将所需的选项放入此文件中 它们将
  • 当 div 滚动到视口时淡入

    好的 所以我一直在寻找simple当用户将其滚动到视图中时淡入 div 的方法 但我找不到直接的解决方案 HTML div class container div class topdiv This is a 100 height div
  • C# - 无法在方法内声明委托

    我这里真的是一片空白 我在想why我无法在方法中声明委托类型 但我必须在类级别声明委托类型 namespace delegate learning class Program Works fine public delegate void
  • 静态内存实例中的字符串计数

    据我所知 编译时类似 C 的字符串仅作为一个实例保存在静态内存中 例如我两者都有true在 gcc 4 6 上运行下面的示例 但我想知道它是否总是如此并且可以便携 C 和 C 上的行为都很有趣 include
  • Spark如何执行join+filter?它具有可扩展性吗?

    假设我有两个大型 RDD A 和 B 包含键值对 我想使用密钥连接 A 和 B 但是在匹配的 a b 对中 我只想要一小部分 好 的 所以我进行连接并随后应用过滤器 A join B filter isGoodPair where isGo
  • Laravel 5.1 防止 CSRF 不匹配引发异常 [重复]

    这个问题在这里已经有答案了 我遇到向用户抛出 CSRF 异常的问题 发生这种情况的原因完全是无辜的 例如 如果有人在最 终提交表单时花了太长时间填写表单 则会话已过期并且令牌不匹配 现在显然这是一个错误 但它不需要杀死所有内容并抛出异常 有
  • 优化 Solr 的排序

    我正在使用 Solr 进行实时搜索索引 我的数据集大约有 60M 大文档 我需要按时间排序 而不是按相关性排序 目前 我在查询中使用排序标志按时间排序 这对于特定搜索效果很好 但是当搜索返回大量结果时 Solr 必须获取所有结果文档并在返回