使用 AND 和 OR 运算符的 Solr 字段查询 (fq)

2024-01-04

我一直在努力使用 AND 和 OR 运算符形成 solr 字段查询。为什么 solr 对于 1 和 2、3 和 4 查询返回不同的结果,即使所有查询都有相同的逻辑 -

  1. fq=(名称:abc AND -城市: ( 1 3 )) OR (名称:abc AND -loc:(3 K D 5 7))
  2. fq=(名称:abc AND (-city: ( 1 3 ) OR -loc:(3 K D 5 7)))
  3. fq=名称:abc&fq=-(城市:(1 3) AND loc:(3 K D 5 7))
  4. fq=名称:abc&fq=(-城市:(1 3) 或 -loc:(3 K D 5 7))

谁能帮我理解 solr 如何在内部执行上述查询?


这种不一致是一个已知问题,并且有一个开放的票证:https://issues.apache.org/jira/browse/SOLR-3744 https://issues.apache.org/jira/browse/SOLR-3744

该线程涵盖的内容更简单:布尔运算符的奇怪 Solr/Lucene 行为 https://stackoverflow.com/questions/7363819/weird-solr-lucene-behaviors-with-boolean-operators

您的表达式中有一些“纯负”嵌套查询 Lucene 查询解析器期望“否定查询”与肯定选择查询一起表达。换句话说除了城市:foo 之外的任何其他内容正确写为*:* AND -city:foo.

尝试进行以下更改的测试:

 1. <Same>

 2. fq=(name:abc AND (*:* AND -city:(1 3)) OR (*:* AND -loc:(3 K D 5 7)))

 3. <Same> 

 4. fq=name:abc&fq=((*:* AND -city:(1 3)) OR (*:* AND -loc:(3 K D 5 7)))

看看事情是否正确地联系起来。

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

使用 AND 和 OR 运算符的 Solr 字段查询 (fq) 的相关文章

  • Windows 中的 Nutch:无法设置路径权限

    我尝试在 Windows 计算机上使用 Solr 和 Nutch 但收到以下错误 Exception in thread main java io IOException Failed to set permissions of path
  • 在哪里可以找到 Apache Lucene/Solr 的性能基准

    是否有任何针对大型数据集上 Lucene Solr 性能基准的链接 资源 500GB 5TB以上范围的数据集 Thanks Lucene 提交者 Mike McCandless 运行基准 http people apache org mik
  • 对 SolrConfig.xml 文件的更新未得到反映

    我在 SolrConfig xml 文件中添加了一个新的请求处理程序 但是每当我尝试使用新的处理程序时 我都会收到带有 未知处理程序 错误的 404 修改SolrConfig xml文件时是否还需要修改其他文件 Thanks 您需要重新启动
  • Solr - 从数据库导入日期时间字段 -> 2 小时差异

    我正在 Solr 中导入日期时间列 SQLServer 并且 solr 中的值始终比数据库中早 2 小时 并且具有完整导入和增量导入 我已经用正确的时间配置了jvm 在日志中它显示了正确的时间 我想我必须在 data config xml
  • 由于找不到资源“solrconfig.xml”而无法创建新的 Solr 核心

    我刚刚安装了 Solr 并想创建一个新的核心 但出现此错误 org apache solr common SolrException Error CREATEing SolrCore new core Unable to create co
  • SOLR 权限/根据访问权限过滤结果

    例如 我有文档 A B C 用户 1 必须只能看到文档 A B 用户 2 必须只能看到文档 C 是否可以在 SOLR 中执行此操作而不通过元数据进行过滤 如果我使用元数据过滤器 每次访问权限发生变化时 我都必须重新索引 2012 年 2 月
  • 如何查询SOLR中的空字段?

    我有一个很大的 solr 索引 我注意到一些字段没有正确更新 索引是动态的 这导致某些字段具有空的 id 字段 我已经尝试过这些查询 但它们不起作用 id id NULL id null id id id TO 有没有办法查询空字段 Tha
  • 如何使用 SolrJ 获取突出显示的片段?

    我正在将我的应用程序从 Lucene 迁移到 Solr Solr 可以更好地处理突出显示 但是如果我搜索关键字 city 我会期望得到如下响应 id fdc3833a 0e4f 4314 ba8c title Paris is a beau
  • SolrCloud:无法创建集合、锁定问题

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

    All 我是 Solr 的新手 当我使用 solr 示例导入一些随机文档时 我在 q 中使用搜索查询 如下所示 fund report fund和 之间没有空格 我以为会在文档中搜索 fund report 这个词 这种情况在文档中很少发生
  • SOLR 中的子字符串匹配

    我似乎无法弄清楚如何使用 SOLR 查找子字符串匹配 我已经根据前缀找出了匹配 这样我就可以让火腿与汉堡包匹配 我如何搜索 汉堡 来匹配汉堡包 我试过burger但这引发了错误 或 不允许作为 WildcardQuery 中的第一个字符 如
  • solr 中的文本字段排序

    我正在使用 solr 3 4 并希望 solr 搜索结果在文本字段上排序 如何实现像 int 自然排序一样对文本字段进行排序 有没有办法在查询时将文本字段转换为int 我的排序字段是字符串类型 我希望它在排序时表现得像 int 字段 我无法
  • yii2 作曲家更新致命错误

    当我更新我的作曲家以添加yii2 solr扩展我的项目时 我遇到如下错误 The yiisoft yii2 composer plugin requires composer plugin api 1 0 0 this WILL break
  • 如何使用 pysolr 对 solr 进行原子更新?

    我找不到关于如何使用 pysolr 更新 solr 的合适文档 截至 2014 年 11 月原子更新 https github com toastdriven pysolr commit c49be48d459448532b5ad0f505
  • DataImportHandler 未在 solr admin 中索引 mysql 表

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

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

    我正在构建一个 Web 应用程序 用户可以在其中搜索 pdf 文档并使用 pdf js 查看它们 我想显示搜索结果 其中包含找到搜索词的段落的简短片段以及用于在右侧页面打开文档的链接 所以我需要的是每个搜索结果的页码和简短的文本片段 我正在
  • 需要在 java api 中的 Solr 搜索中搜索文本及其周围的几行

    我正在使用 solr 7 7 2 并且我使用 solrj 在 Solr 中编写了一个 Java 程序 该程序在一个巨大的文本文件中搜索单词 我使用以下代码来显示代表整个文本的搜索结果 SolrQuery params new SolrQue
  • SLF4J 日志记录到文件 vs. DB vs. Solr

    我需要一些关于 SLF4J 日志记录的建议 目前 我们正在为 Java Web 应用程序使用 SLF4J 日志记录 log4j 绑定 该应用程序使用简单的 ConsoleAppender 我们的下一步是研究可以保存日志的地方 我们的应用程序
  • 由于未定义符号,PECL solr 未加载:curl_easy_getinfo

    我正在尝试加载 PECL solr 扩展 我尝试使用 pecl install solr 并下载并使用 phpize configure make 来安装它 在这两种情况下 扩展安装时都没有错误 但在 apache 重新启动后 或在命令行上

随机推荐

  • 保留 Rxjs 生成的复选框的状态

    基于在下拉列表中选择不同的项目 我生成带有复选框的项目的 html 如何保留复选框的状态 即每当下拉列表中的值发生变化时选中 取消选中 请参阅此处的 plunkrhttps plnkr co edit PUG3g7dfTbQjPyIgGLz
  • 活动之间图像转换时屏幕闪烁

    I implemented an image transition between two activities using the new shared elements from lollipop It s working but I
  • 单击时提交表单

    我的登录系统有问题 每当我单击登录按钮或注册按钮时 它会将我重定向到一个白色页面 上面写着 也就是说 它干扰了我的登录操作 这是我认为导致问题的代码
  • 带有方形按钮的 Android 布局

    我想做一个与此类似的布局 www ImageBanana net 布局 png http www imagebanana com img 9kmlhy66 thumb layout png http www imagebanana com
  • 部署多个具有共享缓存和会话的 Grails 实例?

    我正在寻找一种解决方案 允许我部署多个具有共享缓存 EhCache Server 和会话的负载平衡 Grails 实例 这可能吗 我找不到任何关于此的文档 连接到公共 EhCache 服务器或使用分布式 EhCache 以及共享会话 也使用
  • 跳转注意:未指定主类型

    我正在 Android GoogleApp 中执行第一步 我正在尝试探索 Jumpnote 示例 http code google com p jumpnote http code google com p jumpnote 我能够将 An
  • 内的

    我制作了一个简单的 html 片段 其中包含以下内容 a href div Something here div a 它显然提醒我 div 不能位于 a 标签 我使用了 div 因为我希望整个框 在本例中为 div 成为一个按钮 所以子类
  • 具有相交轮廓线的 Matplotlib 轮廓图

    我正在尝试使用 python 中的 matplotlib 绘制以下数据的等高线图 数据的形式是这样的 x y height 77 23 22 34 56 77 53 22 87 63 77 37 22 54 72 77 29 22 44 8
  • 使用子查询与派生表进行内连接

    环境 SQL 2008 R2 我使用子查询创建了一个派生表并与主表连接 我只是想知道子查询是否只执行一次 还是针对结果集中的每一行执行 考虑以下示例 虚构的表名称仅供参考 SELECT E EID DT Salary FROM Employ
  • 在 C# / .NET 中执行批量更新的最快方法

    我试图找出通过 SQL Server 中的迷你控制台应用程序执行批量更新的最佳方法是什么 我已经编写了自己的批量更新方式 如下所示 SqlCommand command new SqlCommand command Connection n
  • 在移动 Web 应用程序中使用 JavaScript

    我需要在移动 Web 应用程序的表单中使用 JavaScript 我需要一些有关它的信息 涉及浏览器兼容性以及在移动 Web 应用程序中使用 JavaScript 的方式 语法 这是一场噩梦 这就像 20 世纪 90 年代使用网络浏览器工作
  • 使用 Json.NET 将 JSON 反序列化为对象

    我正在玩一点新的堆栈溢出 API https blog stackoverflow com 2010 03 stack overflow api private beta starts 不幸的是 我的 JSON 有点弱 所以我需要一些帮助
  • C#:如何在特定时间启动线程[重复]

    这个问题在这里已经有答案了 如何在一天中的特定时间 例如 16 00 启动后台线程 因此 当应用程序启动时 线程将等待那个时间 但如果应用程序在那之后启动 那么线程将立即运行 ThreadPool QueueUserWorkItem Met
  • 适用于 SDK 环境的 Android 名片扫描仪库 [关闭]

    Closed 此问题正在寻求书籍 工具 软件库等的推荐 不满足堆栈溢出指南 help closed questions 目前不接受答案 有没有名片扫描仪的库 我是 Android 新手 帮帮我 提前致谢 工具信息 ABBYY 移动 OCR
  • 让整个CSS表变得很重要!

    有没有办法让整个 CSS 样式表优先于另一个样式表 我知道你可以做到这一点 重要的是 但我可以用一行来做到这一点 而不是修改工作表上的所有数千个属性吗 Thanks 确保您想要的样式表最后调用 或者您想要的特定样式最后调用 例如 使用这个
  • 使用带有正则表达式的字典(Scala?)的 PySpark UDF 优化挑战

    我正在尝试优化下面的代码 PySpark UDF 它为我提供了所需的结果 基于我的数据集 但在非常大的数据集 大约 180M 上速度太慢 结果 准确度 优于可用的 Python 模块 例如 geotext hdx python countr
  • 如何使用ReportingService2010?

    我正在尝试使用报告服务器 Web 服务通过代码部署报告服务器解决方案 http 服务器名称 ReportServer ReportService2010 asmx wsdl http Server Name ReportServer Rep
  • 从 mongodb 数组中删除元素

    我是 mongodb 的新手 我想删除数组中的某些元素 我的文件如下 id ObjectId 4d525ab2924f0000000022ad name hello time stamp 2010 07 01T12 01 03 75 02
  • 覆盖 matplotlib 的平移工具 (wx)

    我正在使用 wxPython 面板中的 matplotlib 来执行一些繁重的绘图 我的问题是在使用本机平移工具时出现的 当您拖动平移手柄时 似乎 matplotlib 试图不断重绘画布 随着我绘制的数据量变得非常不稳定 已经使用数据集合等
  • 使用 AND 和 OR 运算符的 Solr 字段查询 (fq)

    我一直在努力使用 AND 和 OR 运算符形成 solr 字段查询 为什么 solr 对于 1 和 2 3 和 4 查询返回不同的结果 即使所有查询都有相同的逻辑 fq 名称 abc AND 城市 1 3 OR 名称 abc AND loc