jdi*_*517 1 elasticsearch elasticsearch-bulk-api
我正在使用 RabbitMQ River Plugin for Elasticsearch 将数据插入/删除到我们的 ElasticSearch 索引。River 插件仅支持 Bulk API。我们当前的数据使用多个索引,按日期索引,类似于“indexName_yyyymmdd”
删除给定的 ID 时,我们不知道该 ID 可以定位到哪个索引。我们认为我们将能够使用通配符格式,例如“indexName*”,就像您在搜索中所做的那样。
我们尝试了不同的组合,但看起来要么我们没有使用正确的语法,要么肯定不支持通配符???
Examples we have tried:
// using default index in the url …
POST /mybestfares_gb*/bestfares_data/_bulk
{ "delete": {"_id": " AUry2F0Mu2oVvm5kYHaK " }}
// index in the meta section …
POST /_bulk
{ "delete": {"_index":"mybestfares_gb*", "_type":"bestfares_data","_id": "AUry2F0Mu2oVvm5kYHaP" }}
Run Code Online (Sandbox Code Playgroud)
在这两种情况下,我们都会收到以下错误:
"error": "InvalidIndexNameException[[mybestfares_gb*] Invalid index name [mybestfares_gb*], must not contain the following characters [\\, /, *, ?, \", <, >, |, , ,]]"
在 ElasticSeach 文档中提到了这一点: “诸如文档 API 和单索引别名 API 之类的单索引 API 不支持多个索引。”
而且 Bulk API 被归类为多文档 API,所以我跳跃只是我没有使用正确语法的问题?
不幸的是,这行不通。如果您仔细阅读文档:
单索引 API(例如 Document API 和单索引别名 API)不支持多个索引。
然后点击文档 API 列表的链接:
文档 API
本节介绍以下 CRUD API:
单文档 API
- 索引API
- 获取API
- 删除API
- 更新API
多文档 API
- 多获取API
- 批量API
- 批量UDP API
- 按查询删除 API
您将看到 Bulk API 和 Delete 和 Delete By Query API 都归类为 Document API,它们不能使用通配符来覆盖多个索引:
所有 CRUD API 都是单索引 API。index 参数接受单个索引名称或指向单个索引的别名。
http://www.elasticsearch.org/guide/en/elasticsearch/reference/current/docs.html
| 归档时间: |
|
| 查看次数: |
6587 次 |
| 最近记录: |