使用弹性搜索批量索引

2023-12-11

到目前为止,我一直在按文档将数据索引到弹性文档,现在随着数据开始增加,它变得非常慢,并且不是一种优化的方法。所以我正在寻找批量插入的东西并找到了 Elastic Bulk API。从他们官方网站的文档中我感到困惑。我使用的方法是将数据作为 WebRequest 传递并在弹性服务器中执行它们。因此,在创建批量插入请求时,API 希望我们形成一个模板,例如

localhost:9200/_bulk as URL and 
{ "index" : { "_index" : "test", "_type" : "type1", "_id" : "1" } }
{ "field1" : "value1" }

索引 id 为 1 且 field1 值为值 1 的文档。此外,API 建议以 JSON 形式发送数据(不美观,以保持非转义字符等)。因此,要传递具有多个属性的多个文档,我如何构建我的数据。

我在 FF RestClient 中尝试了这样的操作,其中 POST 和标头为 JSON ,但是 RestClient 抛出了一些错误,我知道它不是有效的 JSON

{ "index" : { "_index" : "indexName", "_type" : "type1", "_id" : "111" },
{ "Name" : "CHRIS","Age" : "23" },"Gender" : "M"}

您的数据格式不正确:

  1. 第一行后面不需要逗号
  2. 你错过了一个结束语}在第一行
  3. 你有一个结束语}在第二行的中间,您也需要将其删除。

格式化数据以进行批量插入的正确方法如下所示:

curl -XPOST localhost:9200/_bulk -d '
{ "index" : { "_index" : "indexName", "_type" : "type1", "_id" : "111" }}
{ "Name" : "CHRIS","Age" : "23" ,"Gender" : "M"}
-H 'Content-Type: application/x-ndjson'

这会起作用。

UPDATE

在 Chrome 上使用 Postman 看起来像这样。确保在第 2 行之后添加新行:

enter image description here

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

使用弹性搜索批量索引 的相关文章

随机推荐

  • 在视口组件上使用 JScrollPane 鼠标侦听器

    我有一个JScrollPane可以设置其视口View到一系列不同的面板 我想在单击其视口中的任何其他组件时获取 JScrollPane 组件 如果我添加一个MouseListener对于 JScrollPane 当我直接单击窗格边框时 它会
  • 在 VBA 中下载文件并存储

    我需要下载从 REST 搜索中获得的文件 网址如下 由于隐私原因 我需要对其进行编辑 该文件应该是 Nastran 计算的结果 可以通过简单的文本编辑器查看 扩展名是 pch 比较大 21mb 如何在 VBA 中实现呢 首先 链接不起作用
  • 按返回类型重载函数?

    为什么更主流的静态类型语言不支持按返回类型重载函数 方法 我想不出有什么可以做到的 它看起来并不比支持参数类型重载有用或合理 怎么人气这么低 与其他人所说的相反 按返回类型重载is可能和is由一些现代语言完成 通常的反对意见是在类似的代码中
  • 自定义日期时间格式

    我需要将日期格式化为 2010 04 21 11 35 22 440 谁能帮我 问题是我看到的是 2009 06 15T13 45 30 0900000 或 2008 03 09 16 05 07Z 但不是我正在寻找的那个 谢谢 strin
  • 删除插件类中定义的操作

    我正在开发一个电子商务主题 我已经安装了WooCommerce PayPal 结账支付网关付款插件 我想更改此结帐按钮的位置 我尝试remove action显示结帐按钮 但它不起作用 在这种情况下如何删除操作 Hook in plugin
  • 需要在c#中进行double类型的枚举

    如何创建 double 类型的枚举 是否可能或者我必须创建某种集合和哈希 你不能把它变成一个枚举 http msdn microsoft com en us library y94acxy2 aspx 可能性之一 public static
  • 为什么 XmlPullParser 传递两个 START_DOCUMENT 事件?

    在 Android 应用程序中我有一个XmlPullParser XmlResourceParser xrp c getResources getXml rid 正如您所看到的 它来自 Android 二进制 XML 资源 并且它提供的前两
  • 检测 NSString 的语言

    有人告诉我关于 Cocoa 中的语言识别类 有人知道它是哪一个吗 This is not在职的 NSSpellChecker spellChecker NSSpellChecker sharedSpellChecker spellCheck
  • 无法在 VC++ 中使用 std::cout 打印出 argv[] 值

    这是我在该网站上的第一个问题 尽管我来这里参考已经有一段时间了 我知道 argv 0 存储程序的名称 其余命令行参数存储在剩余的 argv k 槽中 我还了解 std cout 将字符指针视为空终止字符串并打印该字符串 下面是我的程序 in
  • 如何与主应用程序一起开发另一个子模块。 [作曲家,PHP]

    我知道 git 子模块是如何工作的 以及我们如何使用它 现在我所处的情况是 主应用程序依赖于许多其他作曲家软件包 并且我必须制作和开发一个与主项目 某种库 分开的另一个小软件包 那么我如何才能将这个小包与主项目一起开发 而不使其成为单独的项
  • 反应本机启动画面获取“React/RCTBridgeModule.h”文件未找到

    我使用以下命令启动了一个新的反应本机应用程序 react native init myApplication 我从启动画面开始 所以我使用了这个库反应本机启动画面 我使用以下命令链接该库以生成本机代码 react native link r
  • 如何将标准容器作为字段添加到 OMNet++ 消息中?

    我正在尝试创建一个简单的消息定义包含一个使用实现的字段std vector 根据OMNet 5 5 手册第 1 章6秒 8 1 这看起来很简单 However I m using OMNet 6 0pre6 I can t figure o
  • 单击退出按钮时未处理 Win32Exception - Visual Basic

    我正在使用 Microsoft Visual Studio 2010 32 位高级版 Microsoft Visual Basic 2010 构建表单 当我编译代码时没有任何错误 但是每当我单击退出按钮时 它都会显示以下消息 Win32Ex
  • blackberry os 7 模拟器未在我的系统上加载

    我已经安装了blackberry os 7模拟器 9900 9930 9850 当我打开模拟器时 会显示黑莓加载屏幕 但没有完全加载 长时间显示如下图所示 我删除了位于的 dmp 文件 C Program Files Research In
  • 使用 LINQ 获取平均值

    希望有人可以帮助我使用 LINQ 语法来计算平均值 例如 我有以下 LINQ 查询 var rates from rating in ctx Rates where rating Id Id select new UserId rating
  • C++如何替换构造函数开关?

    我想用更优雅的东西替换大开关 class Base public Base void data int size virtual void Something 0 class A public Base public A void data
  • ASP.NET 到 WCF - 直通安全性?

    我有一个位于 WCF 服务之上的 MVC 网站 WCF 服务还可以通过使用消息安全和证书的用户名 密码身份验证通过 Internet 进行访问 这是设置和工作 网站和服务都使用相同的会员商店 使用会员 API 用户可以使用相同的凭据登录网站
  • 重载加法、减法和乘法运算符

    如何重载加法 减法和乘法运算符 以便我们可以对两个不同或相同大小的向量进行加法 减法和乘法 例如 如果向量大小不同 我们必须能够根据最小向量大小对两个向量进行加 减或乘 我创建了一个函数 允许您修改不同的向量 但现在我正在努力重载运算符 并
  • PhoneGap 构建错误“插件不受支持:...”

    以下 config xml 会导致错误
  • 使用弹性搜索批量索引

    到目前为止 我一直在按文档将数据索引到弹性文档 现在随着数据开始增加 它变得非常慢 并且不是一种优化的方法 所以我正在寻找批量插入的东西并找到了 Elastic Bulk API 从他们官方网站的文档中我感到困惑 我使用的方法是将数据作为