使用 Elasticsearch 搜索多个字段

2024-01-11

我是 Elasticsearch 的新手,我想知道如何进行指定一个或多个字段的搜索。

使用 SQL 我会编写这个查询:

"SELECT field1, field2, field3 FROM tablename WHERE field1 = 'X' AND field2 != 'Y' AND field3 = 'Z'"

在 Elasticsearch 中我从这里开始:

{
    "query": {
        "filtered": {
            "query": {
                "query_string": {
                    "query": "*"
                }
            },
            "filter": {
                "term" : {
                    "field1" : "286"
                }
            }
        }
    }
}

sql 查询相当于:

{
  "query": {
    "bool": {
      "must": [
        {
          "term": {
            "field1": "X"
          }
        },
        {
          "term": {
            "field3": "Z"
          }
        }
      ],
      "must_not": {
        "term": {
          "field2": "Y"
        }
      }
    }
  }
}

无论如何,如果您是新手,我建议您在开始使用 elasticsearch 之前先阅读一些文档。

查询有很多类型,其中一些取决于您如何索引数据,例如对于字符串,您可以在索引时分析字符串(小写、词干、删除停用词等)。如果您在索引时分析该字段并将其转换为小写,我发布的查询将永远不会匹配 field1 为“X”的文档。

一旦您更好地了解了 Elasticsearch,您就可以使用过滤器来改进您的查询。

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

使用 Elasticsearch 搜索多个字段 的相关文章

随机推荐

  • Sharepoint 2013 计算字段作为超链接呈现为文本

    I have a column in Sharepoint 2013 and set the type to Calculated I have set the data return type to integer pic attache
  • 如何在中间件中使用“this”上下文

    我出于我的目的编写了自己的中间件作为模块 如下所示 myMiddleware js module exports fn1 function req res next console log fn1 next fn2 function req
  • 错误:无法加载 libphutil

    我们已经安装运行Phabricator在我们的一台服务器中 今天 我按照 中给出的标准步骤对其进行了升级 https secure phabricator com book phabricator article upgrading htt
  • 在 Linq EF 查询中使用 SQRT

    我需要使用 SQRT 函数作为 Linq EF 查询中 where 子句的一部分 我想我可以这样做 var qry context MyTable Where sqrt it field gt 1 但它返回一个错误 指出 sqrt 无法解析
  • 强制某些编译器生成的变量进入特定的 ELF 部分(使用 gcc)

    我将从最终的问题开始 在带有 gcc 的 C 中 是否有可能获得以下值 func 或同等地 FUNCTION 存储在除 rodata 或任何地方 mrodata 点 或其小节 完整解释 假设我有一个日志记录宏 define LOG fmt
  • Xcode 无法在选定的目标上运行

    今天早上我正在运行我的应用程序 现在当我尝试在 iPhone 5 1 模拟器上运行时突然出现以下错误 无法在选定的目的地上运行 目标不支持构建所选软件的体系结构 切换到支持该架构的目标以运行所选软件 我删除了方案 但仍然没有解决方案 我正在
  • 显式模板实例化的 gcc 问题?

    据我了解 专业化的声明或 typedef 应该导致模板类被实例化 但 gcc 似乎不会发生这种情况 例如 我有一个模板类 模板类Foo 我写的 class Foo
  • 调整图像大小而不损失任何质量[关闭]

    很难说出这里问的是什么 这个问题是含糊的 模糊的 不完整的 过于宽泛的或修辞性的 无法以目前的形式得到合理的回答 如需帮助澄清此问题以便重新打开 访问帮助中心 help reopen questions 如何在不影响图像质量的情况下调整图像
  • 在整个应用程序中设置 on_delete 的简单方法

    我一直在使用 WdPython 的论据并发现tons为了准备升级到 Django 2 0 我需要进行一些更改 python Wd manage py runserver 最主要的是on delete https docs djangopro
  • Firestore 上的条件 where 查询

    我尝试在这里实施解决方案 firestore 查询中的条件 where 子句 https stackoverflow com questions 48514932 conditional where clause in firestore
  • document.referrer 存在但始终为空

    我正在 iOS 8 上开发一个移动应用程序 document referrer 似乎总是空的 我尝试使用以下方法检查它是否存在 if referrer in document alert referrer document referrer
  • Azure Functions - Blob 流输出绑定

    我创建了一个带有 blob 存储触发器的 Azure 函数 我想处理一个文件 然后将文件转储到另一个 blob 存储容器 在最简单的情况下 我想它会是这样的 public static void Run Stream blob string
  • 使用 Sencha 添加视频

    我想使用 Sencha 在我的网站中添加 YouTube 视频 我使用以下代码 var pnl new Ext Panel layout type vbox pack center items xtype video url space m
  • 如何在 Codeigniter 中使用测验机制

    我正在 Codeigniter 中构建一个简单的测验应用程序 其中向用户展示一张图像 让他们猜测它是对还是错 类似于 热与否 有 25 个问题 全部回答是或否 我可以选择创建 25 个页面并在隐藏字段中保留以前的结果 但这似乎有点冗长和愚蠢
  • 如何使用 TortoiseSVN 只检出(下拉)SVN 树的一部分?

    我正在使用 TortoiseSVN 我想将现有存储库签出到本地目录中 但是 我只想拉下文件树的某些部分 我有办法做到这一点吗 例如 trunk project A project B project C 假设我只想拉下主干 项目 A 和项目
  • 如何访问 .NET Standard 2.0 DLL 中的文件?

    谢谢你的拜访 这是我面临的问题 希望得到一些帮助 我正在尝试访问 NET 标准 DLL 中的文件 如果我在测试 UWP 应用程序中使用 Windows Storage 命名空间 则一切正常 如下所示 Windows Storage Stor
  • 如何安装较旧的 SonarLint Eclipse 插件

    目前 Eclipse Marketplace 中的 SonarLint 仅提供最新版本 2 5 1 出于兼容性原因 我需要版本 2 2 1 如何安装我选择的旧版本 不使用 Eclipse Marketplace 而是使用菜单帮助 安装新软件
  • Visual Studio 2015 Update 3 中与 ASP.NET Core v1.0 的浏览器链接

    我正在使用 Visual Studio 2015 Update 3 并希望在我的 ASP NET Core v1 0 WebApp 项目中使用浏览器链接功能 但我无法让浏览器链接正常工作 ASP NET Core v1 0 项目是否支持浏览
  • Inno Setup:也排除目录及其文件

    我在 Inno Setup 中使用 排除 标志 以便根据用户的体系结构从安装中排除子目录名称 Bin32 或 Bin64 我想要的只是不安装无用的文件夹及其所有文件和子目录 这是我目前的规则 Files Source Z Work temp
  • 使用 Elasticsearch 搜索多个字段

    我是 Elasticsearch 的新手 我想知道如何进行指定一个或多个字段的搜索 使用 SQL 我会编写这个查询 SELECT field1 field2 field3 FROM tablename WHERE field1 X AND