flexsearch 2.0 ttl在php中

时间:2016-01-04 15:25:13

标签: php elasticsearch ttl

在1.X Elasticsearch中,我们按以下方式组织了_ttl: 在我们的映射中:

{
  "_ttl" : {
    "enabled" : true,
    "default" : "30d"
  },
  "_timestamp" : {
    "enabled" : true,
    "path" : "@ts",
    "format" : "dateOptionalTime"
  }
}

这意味着给定文档应在@ts字段中描述的30天后过期。目前在Elasticsearch 2.0中,_timestamp字段不能包含'路径'字段并且已弃用,因此我无法使用该方法告诉Elasticsearch何时使给定文档到期。 所以我仍然可以在索引映射中使用_ttl 30d,但是文档将在索引后30天到期,如果我想在@ts字段的30天后过期,那么我需要计算索引的相对时间并将其添加为HTTP请求的get参数:

PUT my_index/my_type/1?ttl=10m 
{
  "text": "Will expire in 10 minutes"
}

所以我的问题是我如何用PHP Elasticsearch驱动程序来表达它?

$params = [
  'index' => 'my_index',
  'type' => 'my_type',
  'id' => 'my_id',
  'body' => ['testField' => 'abc']
];
$response = $client->index($params);

0 个答案:

没有答案