如何在 elastica 中更新多个数据?逻辑就像,我有一个数组或一串 id,然后我需要一次性更新连接到每个或该 id 的所有数据的状态属性,那么该怎么做?,本文档没有有样品
http://elastica.io/api/classes/Elastica.Bulk.Action.UpdateDocument.html
Run Code Online (Sandbox Code Playgroud)
这甚至可能吗?
这是可能的,但您不能只更新一个字段,因为 ES 不是这样工作的。
您需要先检索完整文档,更改字段值并再次将文档保存到 ES(使用与之前相同的 id)。
除此之外,多个 upsert(添加和更新操作之间没有区别)如下所示:
$client = new Elastica\Client();
// Call method from client
$client->addDocuments([
new Elastica\Document(/*...*/),
new Elastica\Document(/*...*/),
new Elastica\Document(/*...*/),
]);
// Or from index
$client->getIndex('index')->addDocuments([
new Elastica\Document(/*...*/),
new Elastica\Document(/*...*/),
new Elastica\Document(/*...*/),
]);
// Or from type
$client->getIndex('index')->getType('type')->addDocuments([
new Elastica\Document(/*...*/),
new Elastica\Document(/*...*/),
new Elastica\Document(/*...*/),
]);
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
1625 次 |
| 最近记录: |