0

我正在使用 elastic4s 在 ElasticSearch 中创建索引。我的代码如下:

var seqBulkDef = SeqBulkCompatibleDefinition
seqBulkDef=seqBulkDef:+request(sha256, parentId, indexMap, ES_INDEX, ES_INDEX_TYPE)
val resp = client.execute (bulk (seqBulkDef)).await(duration)

def request(sha: String, parentId: String, indexMap: Map, index: String, indexType: String): BulkCompatibleDefinition = {
  update(sha) in index / indexType docAsUpsert indexMap parent parentId
}

但它不适用于parentId. 请问我应该如何修改语法。

4

2 回答 2

0

您需要先添加一个映射来建立关系并指定哪个文档类型应该是子类型的父级。

在 scala4s 中,您需要执行以下操作:

client.execute {
  put mapping "places" / "city" parent ("country") 
}

然后你可以打电话

client.execute {
  update("5") in "places" / "cities" docAsUpsert Map("name" -> "São Paulo") parent "2"
}
于 2015-10-30T05:56:40.037 回答
-1
update(id).in("places/city").docAsUpsert(write(json)) refresh (RefreshPolicy.IMMEDIATE)
于 2019-06-13T16:10:38.867 回答