仅当doc不存在时,Elasticsearch中的批量索引

马齐·海达里(Marzi Heidari)

使用elasticsearch大量api可以如下索引文档:

 for doc in shingles:
            actions.append({
                "_op_type": "index",
                "_index": index_name,
                '_id': hashed_id,
                "content_completion": {
                    "input": [doc],
                    "weight": 1
                }
            })
    helpers.bulk(self.es, actions)

但是我需要的是仅对数据建立索引,如果索引中不存在仅doc。如何使用批量API实现此目标?

gaurav9620

索引文档时弹性搜索中有一个选项

如果设置op_type = create,它将仅在不存在的情况下创建文档,否则将失败并返回这些文档的错误

POST _bulk/
{ "index" : { "_index" : "test", "_id" : "1" ,**"op_type":"create"** } }
{ "field1" : "value1" }
{ "delete" : { "_index" : "test", "_id" : "2" } }
{ "create" : { "_index" : "test", "_id" : "3" } }
{ "field1" : "value3" }
{ "update" : {"_id" : "1", "_index" : "test"} }
{ "doc" : {"field2" : "value2"} }

这是相同的链接。

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

Elasticsearch批量索引-仅在存在时更新

在Amazon Redshift中,如何仅在行不存在时才批量插入行?

计数项在索引中不存在

属性“仅”在描述中不存在

当索引值不存在时,在多索引数据框中传播值

仅在索引不存在时创建索引(在Oracle DB中)

Elasticsearch词组建议者向我建议索引中不存在的建议

Elasticsearch:仅检索字段不存在的文档_id

当 Jira 中不存在 Cucumber Feature 部分时,如何将它们仅批量导入 Xray

在构建时在 NuGet 包中包含文件,仅当它不存在时

仅当表中某处的特定列中的数据不存在时,才插入MySQL行

仅当表 B 中不存在特定值时才从表 A 中获取值

尝试查找索引时处理“无”?在Rebol中不存在的值?

仅当 URL 中不存在 GET 变量时才调用脚本

仅当 oracle sql 中不存在值时才插入

仅当参数不存在时才如何在AWS Parameter Store中创建/覆盖参数?

在Persistent(Haskell)中,仅当记录不存在时才如何插入?

仅当Vuex存储中的数据“过时”或不存在时才进行API调用

仅当HIVE中不存在分区时才如何插入覆盖分区?

仅当列中不存在值时才尝试执行SQL命令

仅当行不存在时才将其追加到文件中

仅当Firebase Firestore中不存在文档时才创建它

仅当 Google 数据存储中不存在密钥时才写入实体

仅当使用MySQL的值不存在时才如何从表中插入值?

仅当一个表中的数据不存在时才将其插入

仅当MongoDB中不存在新文档时如何插入

仅当表中不存在该值时才更新SQL列

仅当neo4j中不存在节点时,才如何创建节点?

仅当文件在 Ansible 中不存在时如何获取远程文件