在 Solr 中增强布尔字段

2024-03-02

是否可以提高 Solr 中的布尔字段以便获得更高的分数?

我们有一个索引,看起来有点像这样:

  • 文档ID
  • title
  • 描述
  • keywords
  • 已审阅

搜索时,已审阅的文档(即 is_reviewed = true)的权重应高于未审阅的文档,而不是完全排除它们。

Using is_review:true^100似乎不起作用,并排除未经审查的项目,而不是仅仅给予它们较低的权重。如果有不同的方式可以实现这一点吗?谢谢!


一些查询解析器有专门用于这种用途的功能。例如,dismax 查询解析器有一个增强查询bq http://wiki.apache.org/solr/DisMaxQParserPlugin#bq_.28Boost_Query.29它允许您通过将子句添加到原始查询来增强与查询匹配的文档。还有一个升压功能bf http://wiki.apache.org/solr/DisMaxQParserPlugin#bf_.28Boost_Functions.29它允许您将分数乘以函数的结果。例如,使用is_review作为这个bf范围,

  • 每个文档的得分is_review未定义的字段将乘以 0。
  • 每个文档的分数,以便is_review=false将乘以一。
  • 每个文档的分数以便is_review=true将乘以二。

is_review:true^100不应排除未审核的项目,除非您正在使用AND as the 默认查询运算符 http://wiki.apache.org/solr/SchemaXml#Default_query_parser_operator。在这种情况下,您可以尝试更换is_review:true^100 by (is_review:true^100 OR is_review:false^0).

如果您对 dismax 查询解析器的 boost 功能感兴趣,但想坚持使用默认查询解析器,您可以使用增强查询解析器 http://lucene.apache.org/solr/api/org/apache/solr/search/BoostQParserPlugin.html这将允许您将任何查询的分数与任何函数相乘。

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

在 Solr 中增强布尔字段 的相关文章

随机推荐

  • 对布尔键进行 DynamoDB 查询

    我是 DynamoDB 以及一般的 noSQL 新手 并且在理解一些概念方面遇到了一些困难 特别是一件事给我带来了一些问题 即基于布尔键查询表 我意识到我无法在布尔键上创建主索引或辅助索引 但我不知道理想情况下应该如何对具有以下结构的表进行
  • c/c++ 左移无符号 vs 有符号

    我有这个代码 include
  • 为一个别名加载 Java KeyStore?

    有谁知道是否可以加载密钥库 以便仅提示输入给定别名的密码 Example 在我的密钥存储中 我有两个私钥 Alice 的加密证书和 Bob 的加密证书 当我加载我的密钥存储时 keyStore KeyStore getInstance Wi
  • 如何创建私有远程perforce分支并推送到它?

    熟悉git 第一次使用perforce 我正在开发自己的功能 我不想将其推送到主线远程存储库 我需要类似 git 远程分支的东西 其中 我可以提交我的更改 就像是git commit 我可以推送到不合并的远程私有分支 就像是git push
  • 带有枚举输入参数的 Webapi post 方法

    当尝试调用采用枚举作为输入参数的 Web API 方法时 为什么会出现下面屏幕截图中的错误 我该如何解决这个问题 看起来像messageDestinationType无论我做什么始终为空 我更愿意将输入类型保留为枚举 我对使用 Web ap
  • 如何修复导入错误:无法从plotly(python)导入Dash中的名称“Event”?

    我正在研究数据可视化任务 其中使用了plotly python 中的Dash 当我运行代码时 我收到一个错误 导入错误 无法导入名称 事件 我尝试了各种安装过程 例如 pip install events 或 pip install Eve
  • 如何在 @RequestParam() 中将默认值指定为整数

    我是新来的弹簧靴和学习 RequestParam 我知道我们可以在字符串中给出默认值 但是当我尝试将默认值作为整数给出时 它向我显示一个错误 RequestMapping returnVeriable public int getVeria
  • playframework 中的分页

    我想在 Play FrameWork 中实现分页 是否有任何教程或示例 我已经浏览了那里的网站并完成了教程 但无法实现分页 Thanks 我已经实现了很多页面play 使用播放分页模块 http www playframework org
  • 如何隐藏exe或dll中的字符串?

    我发现可以从二进制文件中提取硬编码字符串 例如属性视图流程浏览器 http technet microsoft com en us sysinternals bb896653 aspx显示所有超过 3 个字符的字符串 这是我为了简单测试而编
  • 有没有办法编译node.js源文件? [复制]

    这个问题在这里已经有答案了 有没有办法编译一个node js http nodejs org 应用 我可能很晚了 但你可以使用 nexe 模块在一个可执行文件中编译nodejs 你的脚本 https github com crcn nexe
  • MediaMetadataRetriever.getFrameAtTime() 仅返回第一帧

    我使用 MetadataRetriever 从视频中提取了帧 并将所有图像存储在ArrayList
  • Vue-Router:类型错误:this._router.init 不是函数

    我已经安装了 vue router 在 Laravel 项目中 然后尝试使用它 import VueRouter from vue router Vue use VueRouter 然后我得到这个 Vue warn Error in bef
  • Android位置请求PRIORITY_HIGH_ACCURACY没有效果

    我的 Android 应用程序需要高精度位置跟踪 应用程序启动时 它会以编程方式读取位置设置 并在以下情况下显示一个屏幕 高准确率未选择 我改编了Google官方的例子 https developers google com android
  • org.jboss.as.server.deployment.DeploymentUnitProcessingException:在 ws 端点部署中检测到 Apache CXF 库

    我正在使用 Eclipse Juno 和 WildFly 8 2 并尝试使用 ws security 部署肥皂 Web 服务 这是我的参考网站 https docs jboss org author display JBWS WS Secu
  • 生成随机 IPv6 地址

    在Python中 如果我想生成一个IP v6地址形式的随机字符串 该怎么办 例如 ff80 220 16ff fec9 1 fe80 232 50ff fec0 5 fe20 150 560f fec4 3 等 有人可以给我一些帮助吗 一线
  • Imgur API 上传

    于是就有了这行代码 String data URLEncoder encode image UTF 8 URLEncoder encode Base64 encodeBase64String baos toByteArray toStrin
  • Google Compute Engine 分配静态 IP 定价?

    当我们为 Compute Engine 实例分配静态 IP 时 我们是否需要为该实例支付额外费用 我已阅读他们的文档 但没有找到有关该功能定价的任何信息 UPDATE 自 2020 年 1 月 1 日起 静态和临时外部 IP 在使用时按 0
  • 将数组拆分为大小相等的窗口[重复]

    这个问题在这里已经有答案了 我正在尝试拆分numpy array长度为 40 的较小的 大小相等的numpy arrays 其中较小数组的数量由用户给出 较小数组之间允许有一些重叠 因为在给定较小数组某种形式的重叠的情况下 可能会出现全长只
  • 在 SOAP 消息中使用 XSLT 替换命名空间 uri

    我有一条输入肥皂消息 试图用不同的字符串替换命名空间 URI 的一部分 我可以用不同的 URI 替换整个 URI 但无法修改现有的 URI 我需要查找 OLDSTRING 并替换为 NEWSTRING 字符串 VARIABLESTRING
  • 在 Solr 中增强布尔字段

    是否可以提高 Solr 中的布尔字段以便获得更高的分数 我们有一个索引 看起来有点像这样 文档ID title 描述 keywords 已审阅 搜索时 已审阅的文档 即 is reviewed true 的权重应高于未审阅的文档 而不是完全