我正在为ElasticSearch中的随机数据丢失构建数据回填脚本。我只想在备份中的索引中添加丢失的文档;新版本可能已经存在,并且我不想丢失任何更新。
elasticSearch索引api允许我指定OpType以不更新记录:
https://www.elastic.co/guide/en/elasticsearch/client/javascript-api/current/api-reference.html#api-index
例如cabal-version: >= 1.12
name: gensop
version: 0.1
build-type: Simple
author: scooter-me-fecit
description: No description.
license: GPL-3
executable gensop
default-language: Haskell2010
main-is: Main.hs
build-depends:
base,
containers,
bytestring,
generics-sop,
syb,
text,
unordered-containers
default-extensions:
OverloadedStrings,
FlexibleInstances
ghc-options: -Wall
并且我正在尝试使用批量api来提高效率:https://www.elastic.co/guide/en/elasticsearch/reference/6.6/docs-bulk.html
我不知道要在批量api中放置“ opType”。
它是否在元数据字段中,因此如下所示?
[opType=create]
还是我把它放在其他地方?
答案 0 :(得分:2)
如您所引用的链接中所述,如果要使用与opType: create
相同的语义,则需要使用create
命令而不是index
:
change this
|
v
{ 'create': { '_index': indexName, '_type': 'data', '_id': <my Id>} }
{ data for item }