Elasticsearch搜索调优权威指南-23

本文首发于 vivo互联网技术 微信公众号 https://mp.weixin.qq.com/s/AAkVdzmkgdBisuQZldsnvg 英文原文:https://qbox.io/blog/elasticsearch-search-tuning-part-2 作者:Adam Vanderbush 译者:杨振涛目录 预索引数据映射避免使用脚本强制合并只读索引Elasticsearch搜索调优权威指南,是QBOX在其博客上发布的系列文章之一,本文是该系列的第二篇,主要介绍了索引预处理、mapping建立、避免脚本的使用、索引段合并等搜索性能相关的调优方法。 本文是Elasticsearch搜索调优系列文章3篇中的第2篇,第1篇参考这里(点击)。本系列教程旨在更进一步讨论针对Elasticsearch 5.0及以上版本的搜索调优技术、策略及建议。 1.预索引数据为了优化数据的索引方式,应当在查询中预置一些模式。比如,如果所有文档都有一个叫 price 的价格字段,并且大部分查询在一个固定范围列表上执行 range 聚合,那么就可以通过预索引范围到索引中并使用一个 terms 聚合,来加速该聚合。 比如有如下文档: curl -XPUT 'ES_HOST:ES_PORT/index/type/1?pretty' -H 'Content-Type: application/json' -d '{ "designation": "bowl", "price": 13}'以及如下搜索请求: curl -XGET 'ES_HOST:ES_PORT/index/_search?pretty' -H 'Content-Type: application/json' -d '{ "aggs": { "price_ranges": { "range": { "field": "price", "ranges": [ { "to": 10 }, { "from": 10, "to": 100 }, { "from": 100 } ] } } }}'然后就可以在索引阶段增加一个 price_range 字段,该字段应该映射为一个关键字: ...

July 4, 2019 · 1 min · jiezi

Elasticsearch搜索调优权威指南-13

本文首发于 vivo互联网技术 微信公众号 https://mp.weixin.qq.com/s/qwkZKLb_ghmlwrqMkqlb7Q 英文原文:https://qbox.io/blog/elasticsearch-search-tuning-5-0-ultimate-guide 作者:Adam Vanderbush 译者:杨振涛目录 文档建模全局序列号和延迟多代关系为文件系统缓存分配内存Elasticsearch搜索调优权威指南,是QBOX在其博客上发布的系列文章之一,本文是该系列的第一篇,主要从文档建模、内存分配、文件系统缓存、GC和硬件等方面介绍了优化查询性能的一些经验。 Elasticsearch 5.0.0确实是在2.x之后的一个大版本,为大家带来了许多新东西。Elasticsearch现在作为Elastic Stack中的一员,与整个技术栈的其他产品的版本号已经对齐,现在Kibana、Logstash、Beats和Elasticsearch全都是5.0版本了。 这个版本的Elasticsearch是目前为止最快、最安全、最弹性,也是最易用的,而且还带来了很多的改进和新特性。 我们已经通过“Elasticsearch性能调优权威指南”系列,介绍了一些性能调优的基本经验和方法,解释了每一步最关键的系统设置和衡量指标。该系列共分下列3个部分: The Authoritative Guide to Elasticsearch Performance Tuning (Part 1) The Authoritative Guide to Elasticsearch Performance Tuning (Part 2) The Authoritative Guide to Elasticsearch Performance Tuning (Part 3)索引决策也很重要,它对如何搜索数据有很大的影响。如果是一个字符串字段,是否需要分词或归一化?如果是,怎么做?如果是一个数值型属性,需要哪种精度?还有很多其他类型,比如date-time、geospatial shape以及父子关系等,需要更多特别的考虑。 我们也通过一个系列教程讨论了“Elasticsearch索引性能优化”,介绍了一些通用的技巧和方法,来最大化索引的吞吐量并降低监控和管理的负载。该教程分如下3个部分: How to Maximize Elasticsearch Indexing Performance (Part 1) How to Maximize Elasticsearch Indexing Performance (Part 2) How to Maximize Elasticsearch Indexing Performance (Part 3)本文旨在推荐一些搜索调优技术、策略以及Elasticsearch 5.0及以上的推荐特性。 1.文档建模内部对象属性数组并不像期望的那样工作。Lucene 中没有内部对象的概念,所以Elasticsearch把对象层次展开到一个由属性名称和属性值组成的简单列表中。以下列文档为例: ...

June 13, 2019 · 2 min · jiezi