Elasticsearch 常见的 8 种错误及最佳实践
題記
Elasticsearch 社區(qū)有大量關(guān)于 Elasticsearch 錯誤和異常的問題。
深挖這些錯誤背后的原因,把常見的錯誤積累為自己的實戰(zhàn)經(jīng)驗甚至是工具,不僅可以節(jié)省我們的開發(fā)和運維時間,而且可以幫助確保 Elasticsearch 集群的長期健康運行。
常見的異常、原因和常規(guī)最佳實踐拆解如下,這些最佳實踐可以幫助我們更有效地識別、最小化定位和處理異常問題。
1、 Mapper_parsing_exception
Elasticsearch 依靠映射(Mapping)定義的數(shù)據(jù)類型處理數(shù)據(jù)。
映射定義了文檔中的字段并指定了它們對應(yīng)的數(shù)據(jù)類型,例如日期類型 Date、長整數(shù)類型 long 和 字符串類型 text。
如果索引文檔包含沒有定義數(shù)據(jù)類型的新字段,Elasticsearch將使用動態(tài)映射來估計字段的類型,并在必要時將其從一種類型轉(zhuǎn)換為另一種類型。
如果Elasticsearch無法執(zhí)行此轉(zhuǎn)換,它將引發(fā)“ mapper_parsing_exception無法解析” 異常。
如果此類異常太多會降低索引吞吐量。
實戰(zhàn)舉例如下:
DELETE mytest_0001 PUT mytest_0001/_doc/1 { "name":"John" }PUT mytest_0001/_doc/2 { "name": { "firstname": "John", "lastname": "doe" } }為避免此問題,可以在創(chuàng)建索引時顯示定義Mapping,明確敲定字段類型。或者可以使用 _mapping 動態(tài)添加新字段映射。
動態(tài)更新索引實戰(zhàn):
總結(jié)
以上是生活随笔為你收集整理的Elasticsearch 常见的 8 种错误及最佳实践的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 字节跳动 ClickHouse 在实时场
- 下一篇: tableau必知必会之用参数操作实现数