| |
|
开发:
C++知识库
Java知识库
JavaScript
Python
PHP知识库
人工智能
区块链
大数据
移动开发
嵌入式
开发工具
数据结构与算法
开发测试
游戏开发
网络协议
系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程 数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁 |
-> 游戏开发 -> Elasticsearch 一些异常报错、注意事项(1) -> 正文阅读 |
|
[游戏开发]Elasticsearch 一些异常报错、注意事项(1) |
操作类型系统支持通过参数(op_type=create)强制执行创建索引操作。只有当系统中不存在此文档的时候才会创建成功。如果不指定此操作类型,如果存在此文档则会进行更新操作。 bulk 默认op_type 是index 自动创建id当创建文档的时候,如果不指定id,系统则会默认创建id。自动生成的id是一个不会重复的随机数。 分片选择默认情况下,分片的选择是通过id的散列值进行控制。这个只可以通过router参数进行手动控制。可以在每个操作的基础上直接通过hash函数的值来指定分片的选择。如下:
报错信息异常一: ElasticsearchException[Elasticsearch exception [type=mapper_parsing_exception, reason=failed to parse field [extractedFields.message.time] of type [date] in document with id 'z06A4X0BHDCoR6byd8Hy'. Preview of field's value: '2020-07-23 11:23:38']]; nested: ElasticsearchException[Elasticsearch exception [type=illegal_argument_exception, reason=failed to parse date field [2020-07-23 11:23:38] with format [strict_date_optional_time||epoch_millis]]]; nested: ElasticsearchException[Elasticsearch exception [type=date_time_parse_exception, reason=Failed to parse with all enclosed parsers]]; 异常二: ElasticsearchException[Elasticsearch exception [type=mapper_parsing_exception, reason=failed to parse field [time] of type [date] in document with id 'OkmVZn4BExock2uC-Xxt'. Preview of field's value: '13:50:02']]; nested: ElasticsearchException[Elasticsearch exception [type=illegal_argument_exception, reason=failed to parse date field [13:50:02] with format [strict_date_optional_time||epoch_millis]]]; nested: ElasticsearchException[Elasticsearch exception [type=date_time_parse_exception, reason=Failed to parse with all enclosed parsers]]; 异常三: ElasticsearchException[Elasticsearch exception [type=mapper_parsing_exception, reason=failed to parse field [extractedFields.message] of type [text] in document with id '4VKG4X0BHDCoR6byZVqf'. Preview of field's value: '{protocol=http, app_ip=88.0.46.134, app_port=80, service_port=45766, type=XPATH, aatime=2020-07-21 22:23:38, service_ip=115.238.251.172}']]; nested: ElasticsearchException[Elasticsearch exception [type=illegal_state_exception, reason=Can't get text on a START_OBJECT at ]]; 异常一、二、三都是在批量插入操作时发生的。主要原因在于动态模板Mapping映射。以Mapping映射中日期类型的格式化设置为例。Elasticsearch默认date类型的格式是"strict_date_optional_time||epoch_millis",是包含时区信息的时间格式或者毫秒。(更多说明详见官网:Date field type | Elasticsearch Guide [8.1] | Elastic) 对于上面的报错异常,可以自己增加日期类型字段的格式化匹配:
elasticsearch 更多日期格式化参考:(format | Elasticsearch Guide [7.4] | Elastic) 支持完全可定制的日期格式,这些语法在DateTimeFormatter (Java Platform SE 8 )中有解释。例如:
对于异常报错也可以采取ignore_malformed(忽略格式不对的数据) |
|
|
上一篇文章 下一篇文章 查看所有文章 |
|
开发:
C++知识库
Java知识库
JavaScript
Python
PHP知识库
人工智能
区块链
大数据
移动开发
嵌入式
开发工具
数据结构与算法
开发测试
游戏开发
网络协议
系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程 数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁 |
360图书馆 购物 三丰科技 阅读网 日历 万年历 2025年4日历 | -2025/4/20 23:01:22- |
|
网站联系: qq:121756557 email:121756557@qq.com IT数码 |