【问题标题】:Elasticsearch mapping, date field with null_valueElasticsearch 映射,带有 null_value 的日期字段
【发布时间】:2014-10-31 21:18:32
【问题描述】:

是否可以在 Elasticsearch 中在类型为“date”的字段中使用等于“now”的 null_value 进行映射?像这样的:

"mappings": {
  "doc": {
    "properties": {
      "last_updated": {
        "type": "date",
        "format": "yyyy-MM-dd HH:mm:ss",
        "null_value": "now"
      }
    }
  }
}

那么当我搜索last_updated字段时会等于当前时间,如果不存在值呢?

【问题讨论】:

  • 所以如果我定义一个时间戳是可能的?
  • "_timestamp" 是一个预定义的字段。您只需要启用它,默认情况下是禁用的。而且那个 github 问题是针对 1.4.0.Beta1 的,所以在 ES 的非 GA 版本中。
  • 好的,所以这只会在索引时添加时间戳,搜索时不会检查当前时间?
  • _timestamp 已弃用。

标签: elasticsearch


【解决方案1】:

我认为你做不到。索引文档时必须这样做,这就是我所做的。

来自文档:

指定字符串、数字、布尔值或日期的映射时 字段,您还可以设置一个 null_value,该值将在任何时候使用 遇到显式空值。没有值的字段仍然会 被排除在倒排索引之外。

在选择合适的 null_value 时,请确保:

  • 它匹配字段的类型。您不能在日期类型的字段中使用字符串 null_value
  • 与正常值不同的是 字段可能包含,以避免将实值与空值混淆

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2021-08-22
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-08-31
    • 2017-10-13
    • 2017-05-18
    相关资源
    最近更新 更多