elasticsearch - ElasticSearch 6.7文档创建时间

标签 elasticsearch indexing kibana

我希望存储在我的ES索引中的每个文档默认都有一个创建时间,例如datetime.now(不是由发送PUT请求的客户端设置的,而是由ES本身设置的)。有没有办法做到这一点?还是在PUT请求中为我的文档建立索引期间必须传递值?

最佳答案

您可以创建ingest pipelinescript processor

以下示例创建一个管道set_creation_date,在created_at字段中添加文档的创建日期。

PUT _ingest/pipeline/set_creation_date
{
    "description": "Set creation date",
    "processors": [
      {
        "script": {
          "source": "ctx.created_at = new Date();"
        }
      }
    ]
}

索引文档时,在pipeline查询参数中添加管道的名称。
POST /my_index/_doc?pipeline=set_creation_date
{
   // Your doc...
}

为此,您必须至少有一个摄取节点。

关于elasticsearch - ElasticSearch 6.7文档创建时间,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57153377/

相关文章:

ruby - Grep Curl Elasticsearch在Chef中的输出

mysql - 设置Kafka连接器管道时出错

sql - 使用索引子句

arrays - 在 MATLAB 中用两个值替换向量值

通过文档扩展名在 Liferay 文档库中搜索

elasticsearch - express 取件 : shards failed

authentication - ElasticSearch:是否有任何应用程序可以启用对ElasticSearch的访问管理?

c# - 如何使用 NEST QueryString 并转义特殊字符?

elasticsearch - Kibana Timelion插件如何在 Elasticsearch 中指定一个字段

elasticsearch - 使数据可公开搜索