当前位置: 首页 > 面试题库 >

如何使elasticsearch将时间戳字段添加到所有索引中的每个文档?

宗政楚
2023-03-14
问题内容

Elasticsearch专家,

我一直无法找到一种简单的方法来告诉ElasticSearch为所有索引(以及所有文档类型)中添加的所有文档插入_timestamp字段。

我看到了一个特定类型的示例:http : //www.elasticsearch.org/guide/reference/mapping/timestamp-
field/

并查看特定类型(使用_all)的所有索引的示例:http ://www.elasticsearch.org/guide/reference/api/admin-
indices-put-mapping/

但是我找不到关于默认添加的所有文档的任何文档,无论文档的索引和类型如何。


问题答案:

您可以通过在创建索引时提供它来实现。

$curl -XPOST localhost:9200/test -d '{
"settings" : {
    "number_of_shards" : 1
},
"mappings" : {
    "_default_":{
        "_timestamp" : {
            "enabled" : true,
            "store" : true
        }
    }
  }
}'

然后,它将为您放入索引中的所有内容自动创建_timestamp。然后在请求_timestamp字段时为某些内容建立索引后,将返回该内容。



 类似资料:
  • 问题内容: Elasticsearch专家, 我一直无法找到一种简单的方法来告诉ElasticSearch为所有索引(以及所有文档类型)中添加的所有文档插入_timestamp字段。 我看到了一个特定类型的示例:http : //www.elasticsearch.org/guide/reference/mapping/timestamp- field/ 并查看特定类型(使用_all)的所有索引的

  • 问题内容: 我需要为索引中的所有文档添加一个新字段,而无需下拉文档并将其推回备份(这将需要大约一天的时间)。是否可以使用_BULK API实现此目的? 我还研究了update_by_query插件,似乎只需要将它们拉下并推回自己的位置即可。 问题答案: 是的,批量API支持更新,可以使用部分文档或脚本添加新字段。要遍历文档ID,请执行扫描并在将fields参数设置为空数组的情况下滚动。

  • 问题内容: 我在ES 1.5.2中工作。我有一个包含文档的索引,并带有存储的时间戳值。我想向其中添加一个常规字段,该字段将采用该文档的_timestamp字段的值。我怎样才能做到这一点?我可以 创建一个常规字段,但是如何将所有_timestamp值复制到该字段? 问题答案: 在ES 1.5.2中,可以使用按查询更新插件来重新索引文档并将该字段复制到常规字段。 使用以下命令安装插件后: 并且确保在配

  • 问题内容: 我必须索引包含“时间”字段的文档,该字段的值是一个整数,表示自纪元以来的秒数(又称为Unix时间戳)。 我一直在阅读ES文档,发现了这一点: http://www.elasticsearch.org/guide/reference/mapping/date- format.html 但是似乎如果我要提交unix时间戳并将其存储在“日期”字段中(整数字段对我没有用),我只有两个选择: 实

  • 问题内容: 我想在我存储在Elasticsearch 7.3中的文档中搜索单词 我想要在以前版本的Elasticsearch上工作的示例是: 但是此查询不适用于Elasticsearch 7+,因为已删除。现在该字段消失了,我该如何编写查询以完成相同的任务? 注意:我已经阅读了将所有字段复制到自定义字段中的建议,但是这要求显式地写出每个字段以包括在all_fields字段中。由于我有很多小字段,因

  • 问题内容: 我有两个索引和。在这些索引中,我具有以下文档类型: : 人 组织机构 角色 技能 : 产品展示 服务 专利 商标 服务标记 每种类型都有不同的字段。 我的问题: 在任何类型的任何字段中,跨一个或什至两个索引查询字符串“ abc”的最佳方法是什么? 我没有在文档中找到任何有助于这种搜索的内容。是否有可能看起来像: 预先感谢您提供的任何帮助。 问题答案: 无论是查询或查询将是你在找什么。