如何在Elastica中更新多个数据?
逻辑是,我有一个数组或ID字符串,
那么我需要一口气更新连接到每个ID或该ID的所有数据的status属性,那么该怎么做呢?
该文件没有样品

http://elastica.io/api/classes/Elastica.Bulk.Action.UpdateDocument.html


那有可能吗?

最佳答案

有可能,但是您不能仅更新一个字段,因为ES不能这样工作。

您需要首先检索完整文档,更改字段值,然后再次将文档保存到ES(具有与以前相同的ID)。

除此之外,多次更新(添加和更新操作之间没有区别)如下所示:

$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(/*...*/),
]);

09-11 19:51