MapperParsingException:没有在字段上声明的类型[date_hour_minute_second]的处理程序

时间:2013-07-20 11:19:12

标签: python elasticsearch pyes

我正在为Elasticsearch开发一个带Python Pyes客户端的驱动程序。我需要具有日期列的映射索引具有基于文档http://www.elasticsearch.org/guide/reference/mapping/date-format/的格式No“date_hour_minute_second”我还检查pyes docs https://pyes.readthedocs.org/en/latest/guide/reference/mapping/date-format.html

当我在我的字段中使用“date_hour_minute_second”格式时,我得到了标题中提到的异常。

这是我的字段定义:

      "date": {
           "boost": 1.0,
           "store": "yes",
           "type": "date_hour_minute_second_fraction",
           "term_vector": "with_positions_offsets"
       }

我无法弄明白为什么它会抛出一个例外,即使文档说它得到了支持。

1 个答案:

答案 0 :(得分:12)

我认为你的映射略有错误,你拥有的"date"是字段名称,你还需要"type": "date"试试这个:

"date": {
    "type": "date",
    "format": "date_hour_minute_second_fraction",
    "store": "yes"
}

"boost"默认为1.0,所以不需要。

另外我会问你为什么需要"store": "yes",除非你已经关闭全局存储(默认情况下它是打开的,并且可以检索你发送给elasticsearch的整个文档)。

最后,"term_vector": "with_positions_offsets"不是"date"类型的适用参数。看看at the elasticsearch docs on core types and scroll to the date section

祝你好运!