码农知识堂 - 1000bd
  •   Python
  •   PHP
  •   JS/TS
  •   JAVA
  •   C/C++
  •   C#
  •   GO
  •   Kotlin
  •   Swift
  • elasticsearch 其他优化


    字段类型优化

    • 数值类型 :选择适用的最小类型,能用 byte 就不要用 short,能用 short 就不要用 integer。对索引、检索、存储都有好处。 Which type should I use?

    • nested类型 :索引一个有100个 nested 类型字段的文档,实际上会有101个文档被索引,因为每个 nested 类型都被单独作为一个文档索引,所以应当避免使用 nested 类型。 Limiting the number of nested fields](https://www.elastic.co/guide/en/elasticsearch/reference/5.5/nested.html#limit-number-nested-fields)

    元字段优化

    • _all field :_all 字段是一个特殊的字段,内容是其他字段的值使用空格分割,拼接为一个大字符串,然后再进行分词、索引,但是不存储。因此只能搜索,不能检出。可以这个字段是一个 text 类型的字段,不论其他字段是什么类型,拼接时都会作为字符串拼接。所以如果不需要,可以将其禁用,因为在写入时会占用CPU和存储资源。

    Mapping 参数优化

    • copy_to :可以用来将一些字段值拷贝到另一个字段中,没有特殊需求不要使用
    • fielddata : 避免使用 text 类型的字段,做排序、聚合及脚本中使用,可以考虑使用 fields 机制完成

    默认情况下,大部分的字段都会被索引,这使得他们可以被搜索。但是在搜索里的排序、聚合和脚本中访问字段值时,使用的是另外一种文档数据的访问机制。

    搜索需要解决的问题是文档中是否包含这个词,但排序和聚合解决的却是文档中的字段值是什么。

    大部分的字段都可以使用索引文档时,存在磁盘上的 [doc_values 作为数据访问机制,但是 text 类型不支持 doc_values。

    因此如果要使用 text 类型的字段进行排序、聚合等,就需要使用一种内存数据结构——fielddata,这个机制默认是禁用的。构建 fielddata 结构时,会从磁盘上的所有的分段上读取所有的倒排索引,然后再JVM堆内存构建 fielddata 结构,所以使用fielddata的成本很高。

    • store :默认情况 下,字段的值都是会被索引的,字段可以被搜索,但是字段的值没有存储。也就是说如果要得到字段的值,还需要从 _source 中检出。

    例如,索引的数据是博客,有字段 title、content,content 是一个超大的文本字段,如果我们只需要查询出 title 字段,如果从 _source 中解析可能就会很慢,使用 store 可以不用通过 _source。

    可以对比 MySQL 的非聚簇索引。

  • 相关阅读:
    【2023,学点儿新Java-14】携程面试题:如何看待Java是一门半编译半解释型的语言?| 咨询互联网行业 资深前辈的一些问题 | 附:为什么说ChatGPT的核心算法是...?| GPT-3.5
    Vue路由
    【算法|贪心算法系列No.5】leetcode409. 最长回文串
    第二章 webpack处理样式资源
    猿辅导技术进化论:助力教与学 构想未来学校
    AOP打印日志参数和耗时
    async await 原理解析之爱上 async/await
    MySQL:更新过程(buffer pool与redo、bin、undo log)
    npm运行vue项目出现禁止运行脚本
    深度学习入门:针对deep-learning-for-image-process文件的学习
  • 原文地址:https://blog.csdn.net/qq_26824159/article/details/125887244
  • 最新文章
  • 攻防演习之三天拿下官网站群
    数据安全治理学习——前期安全规划和安全管理体系建设
    企业安全 | 企业内一次钓鱼演练准备过程
    内网渗透测试 | Kerberos协议及其部分攻击手法
    0day的产生 | 不懂代码的"代码审计"
    安装scrcpy-client模块av模块异常,环境问题解决方案
    leetcode hot100【LeetCode 279. 完全平方数】java实现
    OpenWrt下安装Mosquitto
    AnatoMask论文汇总
    【AI日记】24.11.01 LangChain、openai api和github copilot
  • 热门文章
  • 十款代码表白小特效 一个比一个浪漫 赶紧收藏起来吧!!!
    奉劝各位学弟学妹们,该打造你的技术影响力了!
    五年了,我在 CSDN 的两个一百万。
    Java俄罗斯方块,老程序员花了一个周末,连接中学年代!
    面试官都震惊,你这网络基础可以啊!
    你真的会用百度吗?我不信 — 那些不为人知的搜索引擎语法
    心情不好的时候,用 Python 画棵樱花树送给自己吧
    通宵一晚做出来的一款类似CS的第一人称射击游戏Demo!原来做游戏也不是很难,连憨憨学妹都学会了!
    13 万字 C 语言从入门到精通保姆级教程2021 年版
    10行代码集2000张美女图,Python爬虫120例,再上征途
Copyright © 2022 侵权请联系2656653265@qq.com    京ICP备2022015340号-1
正则表达式工具 cron表达式工具 密码生成工具

京公网安备 11010502049817号