首页
学习
活动
专区
圈层
工具
发布
    • 综合排序
    • 最热优先
    • 最新优先
    时间不限
  • 来自专栏pythonista的日常

    es搜索优化&mysql查询优化

    这周优化了我们沙抖官网搜索的功能,这个搜索目前是根据视频标题进行匹配,之前是对用户输入的关键词进行了分词查找,比如用户输入【机器人】,这样的话,只要视频标题中有关键词的任意一个字都会被搜到,比如含有【人 】字的标题会展示出来,并可能排的很靠前,所以我就对当前的搜索进行了优化,现在搜索是优先进行相邻短语查询 match_phrase,如果相邻短语查询结果小于2个就进行普通的分词查询,这个相邻短语查询是要求在请求字符串中的所有查询项必须都在文档中存在 "fields": { "video_title": { } } } } 这周内我还对我们的数据表查询进行了优化 加了普通索引和联合索引,现在我们一个视频数据表的数据量是几百兆大小,根据视频行业进行查询时,mysql 响应速度在 600ms 左右,我对行业字段添加了普通索引,查询响应在 30 ms 左右,前后对比优化结果还是很明显的

    1.9K20发布于 2020-06-16
  • 来自专栏YG小书屋

    ES 查询优化(一)

    "name": "dev" } }, "sort":[ "_doc" ] } 4、随机取n条(n>=10000)数据 1)可以利用ES }, "random_score": { } } } } 2)可以利用ES

    5.2K60发布于 2018-05-23
  • 来自专栏YG小书屋

    ES 查询优化(二)

    { "text": "hop" }}, { "term": { "text": "leap" }} ] } } } 3、查询时提高索引的相关性 比如说,我们es docs_2017_12_09": 2 }, "query": { "term": { "text": "error" } } } 4、更改score计算方法 ES5.0

    2.8K40发布于 2018-05-23
  • 来自专栏数据库相关

    ES写入性能优化实录

    背景: 公司的各个微服务在逐步接入ES APM 这个监控体系,但是metrics写入量较大(每个metrics的长度很小,但是频率很高),通过logstash往ES写数据时候频繁报写入队列已满,写入拒绝 ,运维侧需要对ES做写入优化优化措施 1、调整ES的索引持久化参数 主要是调整下面4个参数: "index.translog.durability" : "async", "index.translog.flush_threshold_size -普通SSD磁盘 调整后,ES写入性能有大幅提升。 日常消费:ES消费能力大约是110w每分钟。

    2.1K10发布于 2020-10-28
  • 来自专栏大数据计算

    ES海量数据的优化实践

    二、统一存储字段由于ES使用SSD存储介质,在海量数据的场景中存储成本十分高昂。本章节对ES的存储和数据进行分析,寻求优化的突破口。 本文主要介绍列存数据库结合ES构建二级索引的优化。 架构优化前,所有数据都存储在ES,整个检索流程是直接通过ES检索拉取指定展示字段。优化后,将4个检索字段写入ES构建索引数据,原始数据写入HBase,并设计doc_id为HBase的row key。 完成裁剪后,预计可再优化30~50%ES存储优化;b) _source字段裁剪后,实现了存算分离,ES后续将聚焦于搜索功能,对集群的磁盘IO、CPU和网络带宽的负载压力都有不同程度的优化,提升检索效率; 统一数值存储字段优点 完全基于ES的数据存储优化,不需要引入其他组件即可快速实现,针对数值型字段占比高且字段命名字符多的数据优化收益非常明显。

    3.2K40编辑于 2022-12-09
  • 来自专栏高端IT

    重学ES系列之函数优化

    // 尾调用优化 // 递归 let factorial = (n)=>{ if(n <=1 ){ return 1 } else{

    34120编辑于 2022-06-16
  • 来自专栏刷题笔记

    7-5 字符串循环左移

    点这里 7-5 字符串循环左移 输入一个字符串和一个非负整数N,要求将字符串循环左移N次。 输入格式: 输入在第1行中给出一个不超过100个字符长度的、以回车结束的非空字符串;第2行给出非负整数N。

    1.1K20发布于 2019-11-08
  • 来自专栏性能优化最佳实践

    【腾讯云ES】基于NGram分词ES搜索性能优化实践

    关于严格匹配我们很容易就能想到模糊查询,es本身也是能支持模糊查询的:方案选择方案一:模糊查询 wildcard && fuzzy 模糊查询的功能有点类似 mysql 中的 like,可以使用正则表达式的通配符来达到模糊搜索的效果 product_title": { "value": "*白*" }} }}wildcard 能同时支持 text 和 keyword 两种类型的搜索,但是当输入字符串很长或者搜索数据集很大时,搜索性能很低,原因是ES

    3.9K40编辑于 2022-12-05
  • 来自专栏freesan44

    PTA 7-5 买地攻略 (25 分)

    数码城市有土地出售。待售的土地被划分成若干块,每一块标有一个价格。这里假设每块土地只有两块相邻的土地,除了开头和结尾的两块是只有一块邻居的。每位客户可以购买多块连续相邻的土地。

    20300发布于 2021-09-11
  • 来自专栏刷题笔记

    7-5 小字辈 (25 分)

    点这里 7-5 小字辈 (25 分) 本题给定一个庞大家族的家谱,要请你给出最小一辈的名单。

    89110发布于 2019-11-08
  • 来自专栏运维开发故事

    Zabbix后端存储ES优化实践

    优化思路 ▼ 对数据mapping重新建模,对str类型的数据不进行分词,采用冷热节点对数据进行存储, 前七天数据的索引分片设计为2主1副,索引存储在热节点上,超过七天的数据将被存储在 冷节点,超过30 天的索引分片设置为2主0副本,ES提供了一个_shrink的api来进行压缩。 以上操作均使用ES的管理工具curator来定时执行。 Zabbix与ES的对接操作▼ 1.修改/etc/zabbix/zabbix_server. conf,添加如下内容 ES地址填写集群中任意一个节点就可以 ? 优化后的效果 ▼ 为了测试,这里我将curator执行的对象修改为一天以前的索引,并且shrink压缩成一个主 分片。可以看到前一天的分片已经迁移到冷节点上了,并且冷节点上只有一个主分片。 ?

    1.4K20发布于 2020-03-26
  • 来自专栏涓流

    ES底层原理来看查询优化

    ES 底层设计概览 ES 底层(或者说内核)是基于 Lucene,本文从 ES 查询流程以及 Lucene 底层的一些存储结构设计设计, 来分析 ES 的一些查询优化方向 ES 查询模型 上图是 ES 存储结构如下: ES 优化策略 了解了 ES/Lucene 索引的一些底层设计, 那来看看一些优化方法论 分片数,副本数,索引规模的合理评估 在 ES 6.6 或以上的版本, 官方提供了索引生命周期管理 同时为了避免字段爆炸,ES 有如下优化使用方式: 用户可以在某个父层级字段设置 enabled: false 来防止其下面创建子字段 mapping ,但是能被行存查询出来。 如果查询条件与索引排序顺序一致,查询性能将得到显著提升),通过牺牲少量的写入性能,在写入时将文档归类放置存储,非常有利于查询裁剪 Merge 优化 Forcemerge 优化 ES 的写入模型采用的是类似 merge 的线程数跟size限制, 可以有效降低集群负载 减少 Merge 可以通过调整集群配置中索引刷新间隔 index.refresh_interval 来实现, 不过会影响数据的实时性 缓存设计优化

    2K20编辑于 2024-06-27
  • 来自专栏ES搜索

    ES三周年】ES查询—海量数据搜索深度分页优化

    图片 背景 最近在实际项目中查询条件上越来越复杂,mysql的筛选已无法支撑,准备将所有搜索筛选改为es查询。 ES 默认认的单页查询最大限制max_result_window 为10000 。 图片 深翻页问题原因:ES 本身采用了分布式的架构,在存储数据时,会将其分配到不同的 shard 中。 图片 ES的检索分为查询(query)和获取(fetch)两个阶段,query阶段比较高效,只是查询满足条件的文档id汇总起来。 引用文章:Elasticsearch Scroll API vs Search After with PIT 相比scroll,内存也得到了优化es 的查询简化流程: 第一步.用户发送查询dsl 第二步.ES获取shard 内存引用(实际上是ReaderContext 对象引用 ,指向shard的segment 某个状态的数据) 第三步.ES从shard 根据dsl 查询出result scroll

    5K229编辑于 2023-04-29
  • 来自专栏以终为始

    7-5 堆中的路径 (25 分)

    7-5 堆中的路径 (25 分) 将一系列给定数字插入一个初始为空的小顶堆H[]。随后对任意给定的下标i,打印从H[i]到根结点的路径。

    21320编辑于 2023-03-09
  • 来自专栏deepcc

    ES新特性与TypeScript、JS性能优化

    报错 ReferenceError: Cannot access 'tmp' before initialization // 同一作用域下,let声明后才能调用,if的{}内是同一作用域 三、结合ES6 可以修改引用类型部分 // ES2015 引入了两个重要的 JavaScript 新关键词:let 和 const 。 // 在 ES2015 之前,JavaScript 只有两种类型的作用域:全局作用域和函数作用域。

    1.8K11发布于 2021-01-05
  • 来自专栏张家辉的树屋

    react es6+ 代码优化之路-1

    这里集合了一些代码优化的小技巧 在初步接触 es6+ 和 react 的时候总结的一些让代码跟加简化和可读性更高的写法 大部分知识点是自己在平时项目中还不知道总结的,一致的很多优化的点没有写出来,逐步增加中 react es6+ 代码优化之路-1 1、函数式默认参数 使用函数默认的参数, 使用 es6+ 的时候,有了结构赋值,我们就不用再函数中自己再去定义一个变量。 /* 当我们使用 es5 的时候 **/ var es5Fun = function (config) { var foo = config || 'default foo' console.log (foo) } //我们传一个对象进去 es5Fun() // 'default foo' es5Fun('not default foo') // 'not default foo' /* 当我们使用 es6+ 的时候 **/ const es6Fun = (config = {'defalut'})=>{ console.log(config) } es6Fun(); // '

    38620发布于 2021-02-02
  • 来自专栏云前端

    ES6中的尾调用优化

    原文:http://exploringjs.com/es6/ch_tail-calls.html ECMAScript 6 提供了尾调用优化(tail call optimization)功能,以使得对某些函数的调用不会造成调用栈 什么是尾调用优化? 对于尾调用优化,因此必须找出表达式中函数调用的尾部。只有下列表达式会包含尾调用: 条件操作符 (? 因此,严格模式(strict mode)禁止这些属性,并且尾调用优化只在严格模式下有效。 3.1 尾递归循环 尾调用优化使得在递归循环中不增长调用栈成为可能。下面举两个例子。

    1.2K20发布于 2020-06-16
  • 来自专栏freesan44

    PTA 7-5 买地攻略 (25 分)

    数码城市有土地出售。待售的土地被划分成若干块,每一块标有一个价格。这里假设每块土地只有两块相邻的土地,除了开头和结尾的两块是只有一块邻居的。每位客户可以购买多块连续相邻的土地。

    32520编辑于 2021-12-06
  • 来自专栏云服务器教程

    ES三周年】ES数据索引和查询优化的技术总结

    查询优化合理的查询设计对于提高查询性能和减少资源消耗非常重要。 硬件优化合理的硬件配置对于性能的提升也非常重要。以下是一些硬件优化的实践:分配足够的内存:Elasticsearch 使用内存来缓存索引数据和加速查询,因此确保每个节点都有足够的内存可以提高查询性能。 监控和调优监控和调优是持续优化 Elasticsearch 查询性能的关键。 综上所述,通过合理的索引设计、查询优化、硬件优化、使用索引别名和索引生命周期管理以及监控和调优,可以最大限度地提高 Elasticsearch Service 的数据索引和查询性能,从而为业务团队提供高效 腾讯云ES活动

    1.5K71编辑于 2023-04-08
  • 来自专栏后台技术底层理解

    面试:中断:Close_Wait:进程内存:ES优化

    image.png ES在数据量很大的情况下,如何提高查询效率? ES 在搜索几亿条数据的时候,响应5~10s FileSystem Cache 往es里写的数据,实际上都写到磁盘文件里去了,查询的时候,操作系统会将磁盘文件里的数据自动缓存到 filesystem cache image.png 估计存储在ES中的数据量,尽量保证查询最大量数据都能在缓存能存下;其次是减少字段,将查询的字段存es,不查询的只做展示,已经ES + Hbase架构 数据预热 自己的后台系统去搜索一下热数据 字段设计 最好是先在 Java 系统里就完成关联,将关联好的数据直接写入 es 中。搜索的时候,就不需要利用 es 的搜索语法来完成 join 之类的关联搜索了。 分页优化 最多允许查10000条数据的分页 scroll 会一次性给你生成所有数据的一个快照,然后每次翻页就是通过游标移动, 唯一的一点就是,这个适合于那种类似微博下拉翻页的,不能随意跳到任何一页的场景

    1.3K30发布于 2020-08-04
领券