如何在elasticsearch中通过数组元素进行搜索?

2023-12-20

我有一个在elasticsearch中索引的文档:

{
    "content":"Some content with @someone mention",
    "mentions":["someone"],
    "userId":"4dff31eaf8815f4df04e2d62"
}

我尝试通过查询找到它:

{
    "query": {
        "filtered": {
            "filter": { "term":{"userId":"4dff31eaf8815f4df04e2d62"} },
            "query": {
                term: {"mentions":"someone"}
            }
        }
    }
}

并没有收到任何结果。

同时,内容查询工作正常:

{
    "query": {
        "filtered": {
            "filter": { "term":{"userId":"4dff31eaf8815f4df04e2d62"} },
            "query": {
                "term": {"content":"some"}
            }
        }
    }
}

通过数组搜索是否需要一些特殊语法?我发现了几个话题[1 http://elasticsearch-users.115913.n3.nabble.com/Search-inside-field-with-nested-array-td2293927.html, 2 http://elasticsearch-users.115913.n3.nabble.com/Query-Syntax-for-arrays-and-nested-objects-td212582.html] 关于elasticsearch中的数组,但没有直接的答案。

UPDGet Mapping 调用返回下一个结果:

{
    "records": {
        "all":{
            "properties":{
                "content":{"type":"string"},
                "userId":{"type":"string"},
                "mentions":{"type":"string"}
            }
        }
    }
}

UPD2我找到了问题的根源。我不小心在我的问题中引入了错误。我在数据库中实际拥有的用户名的形式是“some_one”(下划线很重要)。因此标准索引将其分成 2 个单词并查询失败原因的“some_one”。


正如您的更新所提到的,这是正确的用法。

如果导入带有“mentions”数组的文档,则搜索匹配的数组项并将其称为“mentions”,将检索该文档。我也遇到了同样的问题,刚才自己验证了一下。

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

如何在elasticsearch中通过数组元素进行搜索? 的相关文章

  • 实现 Index 特征以返回非引用的值

    我有一个想要实现的简单结构Index 但作为 Rust 的新手 我在借用检查器方面遇到了许多麻烦 我的结构非常简单 我想让它存储一个起始值和步骤值 然后当由usize它应该返回start idx step pub struct MyStru
  • 证明 Excel VBA Scripting.Dictionary 不保留项目插入顺序

    我正在尝试决定是否为我的项目使用 Excel VBA 集合或字典 出于多种原因 我倾向于字典 但在使用字典时我会继续阅读它For Each循环检索字典项目或从字典 Items 数组读取项目时 检索顺序可能不是添加项目的顺序 这对于我的应用程
  • Angular 4 显示其中的数据

    我不喜欢从 API 返回到我的 Angular 4 应用程序的数据 这是 JSON 的示例 我不关心美元 但这是我正在处理的数据类型 最终目标是在页面上展示 Coin Price BTC 4 281 28 ETH 294 62 etc JS
  • 在 Elasticsearch Java API 中使用 slop 维护匹配短语查询的序列顺序

    我正在尝试执行一个查询 该查询应该与短语查询类似 只是连续标记内可能存在间隙 例子 Document a b c d Search a c gt gt This should return the document Search c a g
  • 查找列表中项目的索引

    给定一个列表 foo bar baz 和列表中的一个项目 bar 如何获取它的索引1 gt gt gt foo bar baz index bar 1 See 文档 https docs python org tutorial datast
  • F# 中的数组初始化

    如何根据给定的记录类型在 F 中创建和初始化数组 假设我想创建一个包含 100 个 record1 记录的数组 e g type record1 value1 string value2 string let myArray Array i
  • 高效创建抗锯齿圆形蒙版

    我正在尝试创建抗锯齿 加权而不是布尔 圆形掩模 以制作用于卷积的圆形内核 radius 3 no of pixels to be 1 on either side of the center pixel shall be decimal a
  • 如何在 Swift 中使用未知密钥解码 JSON 响应?

    我想将数据拆分为https blockchain info ticker https blockchain info ticker这样每一行都是它自己的String在一个数组中 我正在制作一个获取所选货币价格的应用程序 因此 如果有人想要澳
  • 自动完成建议中的输出字段

    当我想在 elasticsearch 中索引文档时 会发生此问题 message MapperParsingException failed to parse nested IllegalArgumentException unknown
  • 如何避免 ArrayIndexOutOfBoundsException 或 IndexOutOfBoundsException? [复制]

    这个问题在这里已经有答案了 如果你的问题是我得到了java lang ArrayIndexOutOfBoundsException在我的代码中 我不明白为什么会发生这种情况 这意味着什么以及如何避免它 这应该是最全面的典范 https me
  • JavaScript 数组扩展语法的时间复杂度是多少?

    我想知道在 JavaScript 中使用数组扩展的时间复杂度是多少 是线性 O n 还是常数 O 1 下面的语法示例 let lar Math max nums 传播称为 Symbol iterator 有关对象的属性 对于数组 这将迭代数
  • Angular JS 中的数组

    我是 Angular JS 新手 我正在将元素推送到数组中 然后想使用 ng repeat 在 html 中显示 scope groupedMedia Adding elements through a for loop scope gro
  • 在java中使用BUBBLE SORT对二维字符串数组进行排序

    类似的问题已经被问过 但从来没有关于二维字符串数组 因此在尝试了很长时间之后我找不到我想要的 我正在尝试使用 BubbleSort 对 java 中的 2D 字符串数组进行排序 作为输入 我收到一个二维字符串数组 一个表 以及您应该排序的
  • ElasticSearch - 尝试在 Windows 上启动服务时出错

    昨天 我在 Windows Server 2012 R2 上完成了 ElasticSearch 的安装 并且能够正常启动 ElasticSearch 服务 今天 我安装了 Kibana 和 X Pack 但在尝试启动 ElasticSear
  • 将 NumPy 数组按元素映射到更多维度的数组

    我想要地图anumpy array从 NxM 到 NxMx3 其中三个元素的向量是原始条目的函数 lambda x f1 x f2 x f3 x 然而 像这样的事情numpy vectorize不允许改变尺寸 当然 我可以创建一个零数组并进
  • JSON-LD 构建单个对象数组

    有没有办法将单个对象强制放入数组 每次都测试对象类型真的很烦人 我尝试了这个上下文 但它不起作用 还有JSON LD Playground 中的示例 http tinyurl com ph7p35v 通过此上下文 资源将转换为单个对象 而不
  • 选取散列第 N 个元素的最快方法

    我有一个大哈希表 带有字符串索引的数组 并正在寻找一个函数quickly从中选取第一个 理想情况下也是第 N 个 元素 array shift and reset 对于我的需求来说太慢了 UPDATE 我也不是在寻找基于引用的解决方案 该函
  • 从 n,k 维矩阵数组中减去 n,k 维矩阵

    如果我有一个数组A A lt array 0 c 4 3 5 for i in 1 5 set seed i A i lt matrix rnorm 12 4 3 如果我有矩阵 B set seed 6 B lt matrix rnorm
  • 如何通过索引列表从 dask 数据框中选择数据?

    我想根据索引列表从 dask 数据框中选择行 我怎样才能做到这一点 Example 假设我有以下 dask 数据框 dict A 1 2 3 4 5 6 7 B 2 3 4 5 6 7 8 index x1 a2 x3 c4 x5 y6 x
  • 尝试使用 Javascript 解决对称差异

    我正在尝试找出对称的解决方案 使用 javascript 完成以下任务的差异 目标 接受未指定数量的数组作为参数 保留数组中数字的原始顺序 不删除单个数组中数字的重复项 删除数组中出现的重复项 因此 例如 如果输入是 1 1 2 6 2 3

随机推荐

  • 发送 Facebook 请求并获得礼物 FB API

    我已经按照文档在 facebook 上成功实现了我的应用程序的 发送请求 功能here http developers facebook com docs reference dialogs requests 现在 如果用户 A 接受用户
  • shlex.split() 和 re.split() 有什么区别?

    所以我用了shlex split 最近将命令拆分为参数subprocess Popen 功能 我记得很久以前我也用过re split 函数使用指定的特定分隔符分割字符串 有人能指出它们之间的本质区别是什么吗 每个功能最适合什么场景 shle
  • 使用 WMI 挂载网络驱动器

    尝试编写 WMI 类函数以使用登录计算机的凭据在任何计算机 远程或本地 上安装网络驱动器 这是我为服务台工作人员编写的一个较大项目的类 用于在远程 PC 上进行一线修复 技术人员输入机器名称或 IP 地址 应用程序会连接到它 并允许技术人员
  • Vbscript - 比较并复制文件夹中的文件(如果比目标文件新)

    我正在尝试设计这个脚本 该脚本应该用作很多用户的登录脚本的一部分 该脚本基本上应该采用源文件夹和目标文件夹 因为基本上只是确保目标文件夹具有与源文件夹完全相同的内容 但仅当源文件的修改日期标记比目标文件新时才进行复制 我一直在思考这个基本的
  • 具有内部构造函数的最小起订量具体类

    我正在尝试最小起订量一个具有内部构造函数的具体类 即MyAssembly I have public class MyClass internal MyClass other methods including factory instan
  • 如何获得资源路径?

    我想使用 RandomAccessFile 类来访问我的应用程序附带的文件 然而 该类只接受一个字符串 它是文件的路径 如果我将文件放置在资产目录之类的位置 如何构建该文件的路径 我知道我可以使用 getAssets 方法来读取资源 但这些
  • 如何在 php docker 容器上安装/启用 pdo-odbc 驱动程序?

    我目前在为我的 php 应用程序编写 Dockerfile 时遇到问题 我的 Dockerfile 可以工作 但缺少连接到 MS SQL Server 数据库所需的 pdo odbc 驱动程序 这是我当前的 Dockerfile FROM
  • 为什么我得到的 .csv 文件的 mime 类型为“application/octet-stream”?

    我正在开发一个必须将 Excel 文件导入 MySQL 的 PHP 应用程序 所以我需要将excel文件转换为 csv格式 但是当我想使用它来获取它的类型时 FILE something type 我得到application octet
  • 角度中的 HttpClient 模块出现错误

    node modules angular common http http d ts 81 22 中出现错误 错误 NG6002 出现在 AppModule 的 NgModule imports 中 但无法解析为 NgModule 类 这可
  • 当 Angular 5 重新渲染一个大列表时,如何防止 chrome 滚动?

    我有一个角度组件 可以 ngFors 覆盖其他组件列表 我正在使用 ngx dnd 库来启用拖放 每当子组件列表大于屏幕尺寸并且我使用谷歌浏览器时 拖放项目会导致页面向下滚动 如果我调试 我可以看到角度渲染导致创建一个新的项目集合 并且从
  • 使用 read.table 读取文本文件

    我有一个文本文件id and name列 我试图将其读入 R 中的数据框 d read table foobar txt sep t 但由于某种原因 很多行被合并 例如 在我的数据框的第 500 行中 我会看到类似的内容 row 500 5
  • 在shell脚本中传递su密码

    如何使用 su 在 shell 脚本中传递密码 不带 sudo 和 except 我试过 echo password su root c 但它不起作用 最好的方法是sudo 但是由于您不需要最佳解决方案 因此您可以使用script反而 sl
  • 将 perl 脚本移植到 Clearcase 的图形用户界面

    我们的环境中运行着相当多的 perl 脚本 甚至为其创建分支和视图也是通过脚本完成的 现在我们正在将此 perl 脚本移植到基于 GUI 的环境 您更喜欢哪种语言 我们有一些内部工具以 C 形式返回 开发人员不在我们身边 这也可能会被移植
  • 函数的节流和去抖动之间的区别

    任何人都可以给我一个简单的解释 说明出于速率限制目的而对函数进行节流和去抖动之间的区别吗 对我来说 两者似乎都做同样的事情 我查了这两个博客来找出答案 但我仍然无法理解 http remysharp com 2010 07 21 throt
  • React Material UI ThemeProvider 未应用

    我在用着 material ui 核心 https material ui com 处理我的 React 应用程序中的主题 但由于某种原因 某些样式没有被应用 这是我的sandbox https codesandbox io s eloqu
  • 下载文件的同时更新 JProgressBar

    我尝试过不同的方法来让它工作 但它们要么不能与进度条一起工作 要么不能按照我希望的方式工作 我已经创建了一个带有进度条的新窗口 并且需要创建一个方法 该方法允许我下载文件 同时更新JProgressBar 有一种 Apache Common
  • 在spring boot 2.0.0中设置jvmRoute

    对于粘性会话 我需要设置嵌入式 tomcat 的 jvmRoute 其实只是一个 System setProperty jvmRoute node1 是必需的 但我想设置一个 via application properties 可配置属性
  • 集市 + CruiseControl.Net

    我想在我的公司设置 CruiseControl Net 目前 我们在 Bazaar 存储库中存储了多个 net 解决方案 我想使用 MSBuild 来构建每个解决方案 这似乎没有太大争议 但我看不到将 CruiseControl Net 绑
  • 如何从本地 Hadoop 2.6 安装访问 S3/S3n?

    我正在尝试在本地计算机上重现 Amazon EMR 集群 为此 我安装了目前 Hadoop 的最新稳定版本 2 6 0 http ftp cixug es apache hadoop common hadoop 2 6 0 现在我想访问 S
  • 如何在elasticsearch中通过数组元素进行搜索?

    我有一个在elasticsearch中索引的文档 content Some content with someone mention mentions someone userId 4dff31eaf8815f4df04e2d62 我尝试通