elasticsearch - 具有多个条件的术语过滤器

2024-04-11

我想实现一次对ES的搜索具有2个或更多条件的多个值。

For Eg, "customer" index has 2 fields userid and order。我使用下面的查询来搜索与这两个字段匹配的结果。

`{
  "query": {
    "filtered": {
      "query": {
        "match_all": {}
      },
      "filter": {
        "and": [
          {
            "terms": {
              "userid": [
                "1","2"
              ]
            }
          },
          {
            "terms": {
              "order": [
                 "A","B"
              ]
            }
          }
        ]
      }
    }
  }
}`

结果匹配满足所有组合的文档(例如1&A, 1&B, 2&A, 2&B)。但我需要仅按照发送顺序匹配的结果(例如1&A, 2&B)。我们可以通过术语过滤器或任何其他替代方案来实现这一目标吗?


您始终可以使用嵌套"and"s and "or"s:

POST /test_index/_search
{
    "query": {
        "filtered": {
            "query": {
                "match_all": {}
            },
            "filter": {
                "or": {
                    "filters": [
                        { "and": [
                            { "term": { "userid": { "value": "1" } } },
                            { "term": { "order": { "value": "A" } } }
                        ]},
                        { "and": [
                            { "term": { "userid": { "value": "2" } } },
                            { "term": { "order": { "value": "B" } } }
                        ]}
                    ]
                }
            }
        }
    }
}
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

elasticsearch - 具有多个条件的术语过滤器 的相关文章

随机推荐

  • 获取远程服务器的准确时间

    在 C 中 如何查询远程服务器的当前时间 类似的功能 net time servername 但返回包含秒的日期戳 Thanks 您可以使用网络远程TOD http msdn microsoft com en us library aa37
  • cx_Oracle 无法识别 Linux 上安装的 Oracle 软件安装位置

    我已经能够在 Windows 8 笔记本电脑上成功安装 cx Oracle 以与 Python 3 4 一起使用 现在我尝试在 Linux 计算机上进行相同的设置 使用 Python 3 4 的 cx Oracle 从 cx Oracle
  • 你的 log4net 配置中有什么?黑客、优化、观察?

    这是我的 log4net 配置文件
  • 活动任务 SSIS 中的自定义日志记录

    我的 SSIS 包中面临两个问题 我的 SSIS 包有一个活动任务 根据我的要求格式化 Excel 工作表并将其保存为不同的文件 modified xlsx 然后在我的数据流任务中使用该文件来处理数据并将数据上传到数据库表 该包在我的本地系
  • java.lang.IllegalStateException:系统服务在 onCreate() 之前不可用于活动

    我遇到了一个例外 java lang IllegalStateException System services not available to Activities before onCreate 在 onResume 中重新初始化la
  • 自动打开、更新和保存 Excel 工作簿

    我想在Excel中自动修改列的数字格式 Set excel CreateObject Excel Application Set oWB excel Workbooks Open E Docs Invoice csv Excel Macro
  • 从 JSF 托管 bean 生成 CSS

    我有这个 CSS 代码 td data date 2016 03 08 background color F7F7F7 我想将它应用到我想从数据库加载的几个日期 所有这些都可能发生在我生成 CSS 代码的 JSF 托管 bean 中 所以我
  • 在UpSetR中,如何在交叉条上显示小数

    我正在为以下百分比数据制作一个翻转图 这是我的更复杂数据的虚拟示例 x 我希望这些百分比显示为小数 并且所有条形都可见 即使它是 0 1 所有数据在此图中都很重要 令人心烦意乱的情节 library UpSetR x lt c a 80 b
  • 如何使用 php 转义字符串中的单引号(撇号)

    我有一个这样的 SQL 查询 stmt pdo gt prepare SELECT FROM products keywords WHERE product type product type 我不知道它的价值是多少 产品类型多变的 但现在
  • 除 File.Move 之外更快的文件移动方法

    我有一个控制台应用程序大约需要 625 天才能完成 除非有办法让它更快 首先 我正在一个包含大约 4 000 000 个文件 如果不是更多的话 的目录中 我正在一个数据库中工作 每个文件都有一行 然后还有一些 现在使用 SQL 相对较快 瓶
  • 从 XBRL 文档中获取特定值

    我一直在使用Gepsio https github com JeffFerguson gepsio尝试通过他们的 EDGAR 系统翻阅标准 SEC XBRL 文件 尽管我多次尝试解决这一问题 但似乎我还是不知所措 当您从任何文档中提取事实
  • 如何使用 Animated.View 在本机反应中以动画形式展开/折叠文本预览

    我正在创建一个文本组件 默认情况下我希望它是 2 行 如果用户点击它 它将扩展到完整长度 如果用户再次点击它 它将折叠回 2 行 到目前为止 我的返回函数中有类似的内容
  • 了解 smb 和 DCERPC 的远程命令执行功能

    我试图了解通过 impacket 脚本在 Windows 上执行远程命令的所有可用方法 https www coresecurity com corelabs research open source tools impacket http
  • PyGame rect.move 运动无法正常运行

    我正在以打砖块克隆的形式开发我的第一个 pygame 应用程序 对于玩家桨 我检查主游戏循环中的按键保持情况 然后每帧重新绘制玩家对象的精灵 如下面的代码片段所示 class Player def init self self sprite
  • kotlin中val和final有什么区别?

    在Kotlin中 val用于使变量 属性不可更改 那么final有什么用呢 据我所知 在java中final用于限制继承或使变量常量 但在kotlin中val正在做常量部分那么final在kotlin中会做什么 While val and
  • 使用 TFS 命令行部署 SSIS 项目

    如何从 TFS 2015 部署 SSIS 项目 对于常规数据库项目来说 sqlpackage exe publish与发布配置文件 将 SSIS 项目模型自动部署到服务器中的命令行参数是什么 我们使用的是 SQL Server 2016 E
  • Oracle中不使用触发器的自动增量

    oracle中除了使用触发器还有哪些方式实现自增 您可以创建和使用预言序列 语法和详细信息位于http www techonthenet com oracle sequences php http www techonthenet com
  • Facebook 风格的 ASP.NET 聊天组件

    我将启动一个有点像社交媒体网站的网站 我需要一个基于 AJAX 的 ASP NET 聊天控件 如果有 jQuery 就太好了 因为我的整个网站将使用 jQuery 主题进行主题化 我正在寻找类似于 Gmail 或 Facebook 风格的聊
  • Android 如何在画布上匀速缓慢绘制多条线?

    我需要在Android中捕获标记在canvas上绘制图形 效果如下图所示 好吧 到目前为止 我可以通过以下方式绘制一条等速的边值动画器 但是 我一次只能绘制一侧 因为在绘制下一侧时无法保存最后一侧 那么 有没有什么好的办法可以解决这个问题呢
  • elasticsearch - 具有多个条件的术语过滤器

    我想实现一次对ES的搜索具有2个或更多条件的多个值 For Eg customer index has 2 fields userid and order 我使用下面的查询来搜索与这两个字段匹配的结果 query filtered quer