Elasticsearch 一些异常报错、注意事项(1)

这篇具有很好参考价值的文章主要介绍了Elasticsearch 一些异常报错、注意事项(1)。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

操作类型

系统支持通过参数(op_type=create)强制执行创建索引操作。只有当系统中不存在此文档的时候才会创建成功。如果不指定此操作类型,如果存在此文档则会进行更新操作。

bulk 默认op_type 是index

自动创建id

当创建文档的时候,如果不指定id,系统则会默认创建id。自动生成的id是一个不会重复的随机数。

分片选择

默认情况下,分片的选择是通过id的散列值进行控制。这个只可以通过router参数进行手动控制。可以在每个操作的基础上直接通过hash函数的值来指定分片的选择。如下:

POST example/docs/?routing=路由的值(动态替换)&pretty

报错信息

异常一

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)

对于上面的报错异常,可以自己增加日期类型字段的格式化匹配:

"time": {
"mapping": {
"type": "date",
"format": "MMM d HH:mm:ss||yyyy-MM-dd HH:mm:ss.SSS||HH:mm:ss||yyyy-MM-dd HH:mm:ss||yyyy-MM-dd||strict_date_optional_time||epoch_millis"
},
"match": "*time"
}

elasticsearch 更多日期格式化参考:(format | Elasticsearch Guide [7.4] | Elastic)

支持完全可定制的日期格式,这些语法在DateTimeFormatter (Java Platform SE 8 )中有解释。例如:

Jan 19 18:01:01 对应的格式化pattern为: MMM d HH:mm:ss
“Fri Aug 28 18:08:30 CST 2015”, 模式: “EEE MMM d HH:mm:ss ‘CST’ yyyy”
“Aug 28, 2015 6:8:30 PM”, 模式: “MMM d, yyyy h:m:s aa”

对于异常报错也可以采取ignore_malformed(忽略格式不对的数据)文章来源地址https://www.toymoban.com/news/detail-404414.html

到了这里,关于Elasticsearch 一些异常报错、注意事项(1)的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 手机怎么剪视频?分享一些剪辑工具和注意事项

    视频剪辑是一种将多个视频片段进行剪切、合并和编辑的技术,它可以帮助我们制作出精彩的视频作品。如今,随着智能手机的普及,我们可以随时随地使用手机进行视频剪辑。本文将为大家介绍一些手机剪辑工具和注意事项,帮助大家更好地进行视频剪辑。   首先,我们来

    2024年02月10日
    浏览(38)
  • c++ - 抽象类 和 使用多态当中一些注意事项

     在虚函数的后面写上 =0 ,则这个函数为纯虚函数。 纯虚函数不需要写函数的定义,他有类似声明一样的结构。  我们把具有纯虚函数的类,叫做抽象类。 所谓抽象就是,不符合常理的,偶然的,和平常的类不太一样的类。抽象一般是我们人自己想出来的形象,在现实世界

    2024年02月09日
    浏览(26)
  • C#反射的学习,反射的一些注意事项,反射的一些使用代码的实例

    本文档写的的是C#中的反射常用的方式(附带示例代码)以及在使用的时候的一些注意事项。 C#中的反射是一种强大的机制,它允许在运行时动态地检查、访问和操作程序的元数据、类型信息和对象。以下是C#中反射常用的技巧和使用方式: 获取类型信息:使用Type类可以获取

    2024年02月06日
    浏览(39)
  • Unity发布抖音小游戏的一些注意事项

    使用 webgl模式 发布抖音小游戏的一些注意事项 1.打包 使用webgl模式打包抖音小游戏,会因为找不到aapt工具导致打包失败 提示: aapt检查失败: sdk/build-tools/版本号。 解决方法:再unity hub里添加Android Build Support  2.黑屏问题 相机的HDR设为off 3.Text字体不见的问题 不能用unity自带的

    2024年02月11日
    浏览(33)
  • Matlab转Python 画图pcolormesh的使用及一些注意事项

    今天想把matlab一段画图代码转为python,使用到了colormap,尝试了一下午,将结果以及一些注意事项记录下来,算作学习笔记了。 先上matlab原代码 结果如下: 注意: 在pcolormesh函数使用过后,就必须要设置xlim或者ylim,然后再使用colorbar的函数,否则设置ylim会导致语句无效,不

    2024年02月06日
    浏览(34)
  • 关于 Go 协同程序(Coroutines 协程)、Go 汇编及一些注意事项。

    参考:  Go 汇编函数 - Go 语言高级编程 Go 嵌套汇编 - 掘金 (juejin.cn) 前言: Golang 适用 Go-Runtime(Go 运行时,嵌入在被编译的PE可执行文件之中)来管理调度协同程式的运行。 Go 语言没有多线程(MT)的概念,在 Go 语言之中,每个 Go 协程就类似开辟了一个新的线程,效率上,肯

    2024年01月25日
    浏览(60)
  • MySQL5 和 MySQL8 的配置区别 & 一些注意事项

    先保证你的mysql正在运行,假如用户名是 root ,密码是 123456 ,运行下边的代码可以查看mysql的版本号。 这里我的版本是5.7.19。也就是5版本的。 注意:下边的url区别不用管。看到这就可以了。 当然8版本的后边不写也没事。 不建议在没有服务器身份验证的情况下建立SSL连接。

    2024年02月05日
    浏览(30)
  • SpringBoot整合Elasticsearch实现分页条件查询及注意事项

    项目环境: springboot 2.3.7.RELEASE es 6.8.3 这里需要注意es中日期格式,ES默认是不支持yyyy-MM-dd HH:mm:ss格式的,需要通过 @Field(type = FieldType.Date, format = DateFormat.custom,pattern = \\\"yyyy-MM-dd HH:mm:ss||yyyy-MM-dd||epoch_second\\\") 来指定日期格式。 直接看业务层实现分页条件查询: 范围查询: es en

    2023年04月16日
    浏览(44)
  • MongoDB - 库、集合、文档(操作 + 演示 + 注意事项)

    目录 一、MongoDB 1.1、简介 a)MongoDB 是什么?为什么要使用 MongoDB? b)应用场景 c)MongoDB 这么强大,是不是可以直接代替 MySQL ? d)MongoDB 中的一些概念 e)Docker 下载 1.2、库操作 tips看前须知 a)查看所有库 b)创建并使用数据库 c)查看当前操作的数据库 d)删除数据库 1.3、

    2024年01月17日
    浏览(26)
  • Elasticsearch:实用 BM25 - 第 3 部分:在 Elasticsearch 中选择 b 和 k1 的注意事项

     这是系列文章的第三篇文章。之前的文章是: Elasticsearch:实用 BM25 - 第 1 部分:分片如何影响 Elasticsearch 中的相关性评分 Elasticsearch:实用 BM25 - 第 2 部分:BM25 算法及其变量 值得注意的是,当你的用户不能快速找到文档时,选择 b 和 k1 通常不是第一件事。 b = 0.75 和 k1 =

    2024年02月09日
    浏览(28)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包