为什么路由不能与 ElasticSearch Bulk API 一起使用?

2024-04-01

我正在向 ElasticSearch 设置批量请求并指定要路由到的分片。

但是当我运行它时,文档会被发送到不同的分片。

这是 ElasticSearch 批量中的错误吗?当我只索引单个文档时它就有效。当我搜索时它有效。但当我进行批量导入时则不然。

重现:

curl -XPOST 'http://192.168.1.115:9200/_bulk?routing=a' -d '
{ "index" : { "_index" : "articles", "_type" : "article", "_id" : "1" } }
{ "title" : "value1" }
{ "delete" : { "_index" : "articles", "_type" : "article", "_id" : "2" } }
{ "create" : { "_index" : "articles", "_type" : "article", "_id" : "3" } }
{ "title" : "value3" }
{ "update" : {"_id" : "1", "_type" : "article", "_index" : "index1"} }
{ "doc" : {"field2" : "value2"} }'

因此在 URL 末尾添加“路由”参数是行不通的。

我需要将“_routing”字段添加到实际文档字段中以指定它将转到哪个分片。

非常不直观,我希望 ElasticSearch 能够记录这一点!有时我希望我只选择 Solr :*(

希望这可以帮助其他人将来寻找这个

curl -XPOST 'http://192.168.1.115:9200/_bulk?routing=a' -d '
{ "index" : { "_index" : "articles", "_type" : "article", "_id" : "1", "_routing" : "b"} }
{ "title" : "value1" }
{ "delete" : { "_index" : "articles", "_type" : "article", "_id" : "2", "_routing" : "b" } }
{ "create" : { "_index" : "articles", "_type" : "article", "_id" : "3", "_routing" : "b" } }
{ "title" : "value3" }
{ "update" : {"_id" : "1", "_type" : "article", "_index" : "index1", "_routing" : "b"} }
{ "doc" : {"field2" : "value2"} }'
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

为什么路由不能与 ElasticSearch Bulk API 一起使用? 的相关文章

  • 在 ElasticSearch 7+ 中,如何搜索所有文本字段?

    我想在 Elasticsearch 7 3 中存储的文档中搜索单词 我希望在以前版本的 Elasticsearch 上运行的一个示例是 query bool must match all oliver must not should fro
  • 如何在logstash.conf文件中创建多个索引?

    我使用以下代码在logstash conf中创建索引 output stdout codec gt rubydebug elasticsearch host gt localhost protocol gt http index gt tr
  • 如何判断lucene索引版本?

    我正在编写一个 shell 脚本 csh 它必须确定 lucene 索引版本 然后根据该版本将索引升级到下一个版本 所以 如果 lucene 索引是 2 x 我必须将索引升级到 3 x 最后索引需要升级到6 x 由于升级索引是一个顺序过程
  • Logstash删除类型并保留_type

    我有一个logstash 客户端和服务器 客户端将带有logstash的udp输出的日志文件发送到服务器 服务器也运行logstash来获取这些日志 在服务器上 我有一个 json 过滤器 它会在实际日志的字段中提取 json 格式的消息
  • 如何提高elasticsearch中的索引类型?

    我以前是这样搜索的 curl XGET localhost 9200 users search 但 users 包含用户 a b c 如下所示 curl XGET localhost 9200 users a b c search user
  • 如何将2个匹配查询加入到elasticsearch的查询中?

    我想查询以下数据user id is 1 and name is John 写一个常用的SQL很容易 select from t where user id 1 and name John 但对我来说进行elasticsearch的查询并不
  • 随着索引和文档数量恒定,elasticsearch 批量索引会随着时间的推移而变慢

    我遇到了使用 NET NEST 客户端和 ElasticSearch 进行批量索引的性能随着时间的推移 索引数量和文档数量恒定而降低的情况 我们正在奔跑ElasticSearch Version 0 19 11 JVM 23 5 b02在具
  • Elasticsearch:如何查询连接数?

    如何询问我的 Elasticsearch 服务器现在有多少个连接 这与插座数量相同吗 我也不知道如何获得这些数字 这与客户端的数量不同 对吧 因为每个客户端可能打开多个连接 找不到任何相关信息 但我确实发现您可以在 Elasticsearc
  • 局部敏感哈希 - Elasticsearch

    有没有允许在 Elasticsearch 上使用 LSH 的插件 如果是的话 您能否指出该位置并告诉我如何使用它 谢谢 编辑 我发现ES使用了MinHash插件 我怎样才能用这个来比较文件呢 查找重复项的最佳设置是什么 有一个Elastic
  • 需要在 java api 中的 Solr 搜索中搜索文本及其周围的几行

    我正在使用 solr 7 7 2 并且我使用 solrj 在 Solr 中编写了一个 Java 程序 该程序在一个巨大的文本文件中搜索单词 我使用以下代码来显示代表整个文本的搜索结果 SolrQuery params new SolrQue
  • Lucene 评分:在什么情况下使用 queryNorm?

    我对 lucene 的评分策略有点困惑 我知道Lucene的评分公式是这样的 score q d coord q d x queryNorm q X SUM
  • 如何在不更改设置的情况下不区分大小写排序

    我的索引名称是 data new 下面是插入索引的代码 test id 1 name A professor Bill Cage accounting id 2 name AB professor Gregg Payne engineeri
  • ElasticSearch 定义自定义映射与默认“_doc”映射冲突

    尝试创建自定义映射类型时会发生此问题 为第一个插入弹性创建自定义映射后想要创建 doc映射类型和冲突就发生在这里 第一步我创建一个映射 mappings properties field1 type keyword field2 type
  • Solr 过滤查询 - 字符串与整数

    假设我正在尝试查询一堆具有类别的文档 并且我想将查询限制为指定的类别 据我所知 这只是使用 fq 参数 过滤器查询 我想知道将参数设置为整 数而不是字符串或数据通常的情况是否会提高性能 我只是会在右侧犯错 但我想我应该仔细检查一下 以防万一
  • 在弹性搜索中使用 GET/POST 时的不同结果

    我正在通过 Elastic Search Head 插件尝试弹性搜索 当我通过 POST 提交查询时 结果符合预期 但是 当我使用 GET 尝试相同的查询时 我总是会返回索引中的所有值 那么 如何通过 GET 将查询传递到弹性搜索服务器 以
  • Elasticsearch 单个字段的多个分析器

    我使用严格的预定义映射将不同类型的文档存储在单个索引中 它们都有一些字段 例如 body 但我希望在索引时对它们进行稍微不同的分析 例如 对特定文档使用不同的标记过滤器 并在搜索时以相同的方式处理 据我所知 分析器不能按文档指定 我还考虑使
  • Elastic Beanstalk 添加多个 ssl 证书

    我有一个 Docker Django api 应用程序 可以从多个域 abc xyx com 或 def lmn com 调用 我已从 Elastic beanstalk 中的配置控制台成功添加了 abc xyz com 的 ssl 证书
  • Elasticsearch:根据类型对不同字段进行排序

    我的索引中有两种类型 Event and City 我正在尝试按日期将它们全部排序 但是 每种类型的日期字段名称都不同 为了Event该值是在updated at领域和City日期是在update at其嵌套对象之一中的字段city eve
  • 即使禁用安全性,OAuth 令牌 API 也无法在 Elastic Search 中工作

    我是 Elastic search 新手 使用 Elastic search 版本 7 7 1 我想通过以下方式生成 OAuth 令牌弹性搜索文档 https www elastic co guide en elasticsearch re
  • Elasticsearch Nest 通配符查询(带空格)

    简洁版本 我想使用 Nest 编写一个弹性搜索查询来获取完整的索引项 ContentIndexables在我的例子中作为我的自定义类型 已被索引 该查询受 some string 术语查询的约束 即 String StartsWith 其中

随机推荐

  • 如何将 Google Apps 脚本 blob 转换为 base64 编码的字符串?

    我在 Google Apps 脚本中有一个 blob 如何将其转换为 Base64 编码的字符串以便将其写入其他 API FileReader 似乎不起作用 你可以试试这个 Utilities base64Encode blob getBy
  • 以编程方式执行 Segue 并将参数传递到目标视图

    在我的应用程序中 我有一个以编程方式执行转场的按钮 void myButtonMethod execute segue programmatically self performSegueWithIdentifier MySegue sen
  • 检查选项是否相等的便捷方法

    我正在寻找一种更方便的方法来证明可选值的相等性 这就是一个Oracle 博客文章 http www oracle com technetwork articles java java8 optional 2175753 html建议 Opt
  • 在 (n) 个字符后插入一个字符并重复 (n) 次 - vim

    我经常收到我们支持人员在 isc dhcp 上进行 dhcp 预订的票证 有些打印机 cof cof HP 在测试页上打印mac地址信息是这样的 002481F33A9C 显然 支持人员会以这种方式写入票证 我想更改为 00 24 81 F
  • 如何使用 buildbot 创建每日构建文件夹?

    我想保存每晚构建的副本 我认为将每个构建放入其自己的每日文件夹中是个好主意 但是 我无法使用 buildbot master cfg 中的时间 因为它是在配置时设置的 copy files release MyProgram exe ins
  • Android webview,加载assets文件夹中的javascript文件

    我已经看到这个问题已经被问了很多次 但仍然无法让我的代码正常工作 我想要我的webview加载一些 URL 比如 www google com 然后应用一些存储在assets jstest js 其中包含以下内容 function test
  • 在 LINQ 查询的选择部分中调用方法

    我有以下 linq 查询 var file from p in database tblFile join o in database tblFileVersion on p fldFileID equals o fldFileID joi
  • 有没有办法在房间数据库中运行嵌套查询

    我正在迁移我的旧Android项目达到新标准 我陷入了困境room database 无法找到如何执行这2个SQLite命令使用room database 我有两个查询以嵌套方式工作 因此要使用以下命令获得相同的结果room有没有可能 de
  • 获取Apple clang版本和对应的上游LLVM版本

    我想了解我的 macbook 中安装了哪个版本的 clang Apple 以查看 c 11 和 或 c 14 功能是否可用 我输入了这个命令 clang version response Apple LLVM version 7 0 0 c
  • 启动 ACTION_CALL 时如何将 Extra 传递给 BroadcastReceiver

    我正在从我的活动中发起新的呼叫 并试图传递一个额外的布尔值 public class CallInitiatingActivity extends Activity Override protected void onCreate Bund
  • 正则表达式电话号码[重复]

    这个问题在这里已经有答案了 我的单词 电话号码 可能以 00 或 开头 电话号码示例 00xxx xx xxxxxxx xxx xx xxxxxxx xxx xx xxxxxxx 00xxx xx xxxxxxx I have Regex
  • Numpy float64 与 Python float

    我正在处理 Pandas read csv 函数中的一些浮点问题 在我的调查中 我发现了这一点 In 15 a 5 9975 In 16 a Out 16 5 9975 In 17 np float64 a Out 17 5 9974999
  • 如何在电报机器人中管理更多用户?

    我用 python 做了一个电报机器人 它发送如下消息 if message start bot sendMessage chat id Insert your name a name if a name and message start
  • 崇高改变highlight_modified_tabs的颜色?

    In Sublime Text 2编辑器中 我们可以使用以下命令更改 修改 编辑选项卡 的 文本颜色 highlight modified tabs true像那样 有用 但它是鲜红色的 我该如何改变text color of it 这些设
  • 如何在 Rails 中拥有不同的环境变量值?

    这就是我跑步的方式rails console命令 COMPANY b2b RAILS ENV development DEPLOY ENV localhost rails console 相反 我只想跑步rails console通过在内部
  • Java 将枚举编译成什么?

    我和一位同事讨论了 Java 如何表示枚举 我的印象是它们是严格的整数 就像 C C 一样 或者 如果您添加行为 类型安全枚举 它将被包装在一个类中 他相信如果它足够小 Java 会将其压缩为一个字节 不过 我在 Oracle 网站上发现了
  • 组织依赖项目的最佳方式?

    我有一组依赖于其他项目 你可以说实用程序 的项目 问题是每次我更改这些实用程序中任何一个的代码时 我的同事都需要采用最新的代码并在他们的计算机上构建以使用最新的代码组件 有没有好的标准溶液 或者只是将 dll 集中在共享文件夹中 P S 我
  • 谷歌地图 API 点标记

    目前我使用 StyledMarker 图标 带有自定义颜色的默认气泡图标 但我发现有些网站使用更紧凑的 点 点标记的图片 http 3 bp blogspot com kgIKcUsffkA TspZ9QrlraI AAAAAAAAAZc
  • com.google.gson.JsonPrimitive 无法转换为 com.google.gson.JsonObject

    我有一个来自 PHP 的 json 列表 Json test 1 message try it test 2 message try it test 3 message try it final error gt 1 json gt jso
  • 为什么路由不能与 ElasticSearch Bulk API 一起使用?

    我正在向 ElasticSearch 设置批量请求并指定要路由到的分片 但是当我运行它时 文档会被发送到不同的分片 这是 ElasticSearch 批量中的错误吗 当我只索引单个文档时它就有效 当我搜索时它有效 但当我进行批量导入时则不然