码农知识堂 - 1000bd
  •   Python
  •   PHP
  •   JS/TS
  •   JAVA
  •   C/C++
  •   C#
  •   GO
  •   Kotlin
  •   Swift
  • Elasticsearch字段类型与类型区别


    Elasticsearch字段类型与类型区别

      • 基础类型
        • 常用类型
        • 非常用类型
      • 类型解释
        • 字符串类型text与keyword区别
        • 数字类型
        • 时间类型
        • 布尔(boolean)
        • 数组
          • 在不是数组类型中存储数组
        • 对象

    基础类型

    Elasticsearch自带的数据类型是Lucene索引的依据,也是我们做手动映射调整的依据。
    映射中主要就是针对字段设置类型以及类型相关参数。即主要是针对数据的格式限制与搜索时的对应类型的匹配方式

    常用类型

    比较常用的基本类型的:

    1. 字符串: string 常用(5.x版本被废弃),替换为text,keyword
    2. 数字: byte,short,integer,long,float,double
    3. 时间: date 常用
    4. 布尔(boolean): true,false
    5. 数组: array
    6. 对象: object

    非常用类型

    1. 数字: half_float ,scaled_float
    2. 经纬度: geo_point
    3. 网络地址: ip
    4. 范围类型: long_range,integer_range,double_range,float_range,date_range,ip_range
    5. 二进制: binary

    可能存在不全,可留言补充

    类型解释

    字符串类型text与keyword区别

    主要区别在于分词。

    textkeyword
    分词后进行匹配直接进行完全匹配
    得到关联的内容只能获得完全匹配的内容

    数字类型

    储存位数与精度区别:

    类型描述
    byte8位存储
    short16位存储
    integer32位存储
    long64位存储
    float32位单精度存储
    double64位双精度存储

    时间类型

    • ES中date类型会存在时区问题,解决方法是:统一入数据时的格式不要带有UTC等字母后缀,如何存在跨时区那就一定要带有时区后缀。即统一入数据格式。
    • data类型在入数据时存在格式校验,格式不对或在创建索引字段时指定的格式中不包含对应格式,就会出现数据无法录入情况。

    布尔(boolean)

    仅允许存入true与false

    数组

    没有具体的类型限制,但要求内部存储的类型必须一致。所以使用map存储时,注意value的类型一致

    在不是数组类型中存储数组

    会在进行字段匹配查询中单独匹配,如字段text:['123','456']进行匹配text字段时,text:123或text:456将会命中。
    并且会转换为数组类型,但是mapping中的类型不受影响。

    对象

    由于对象描述比较复杂,我发现有一篇博客不错,可以去看一下。跳转

  • 相关阅读:
    rabbitmq详解
    使用 TiUP 升级 TiDB
    java-springboot基于机器学习得心脏病预测系统 的设计与实现-计算机毕业设计
    SpringBoot和Vue集成Markdown和多级评论——基于SpringBoot和Vue的后台管理系统项目系列博客(二十三)
    Linux内核中ideapad-laptop.c文件全解析7
    复现XSS漏洞及分析
    卡尔曼及扩展卡尔曼滤波详细推导-来自DR_CAN视频
    移植SQLite3、OpenCV到RV1126开发板上开发人脸识别项目
    延时队列java
    『忘了再学』Shell基础 — 24、Shell正则表达式的使用
  • 原文地址:https://blog.csdn.net/at10090/article/details/113920217
  • 最新文章
  • 沪漂五周年了:我越来越迷茫了
    Agentic Skill Routing 实战:别再把所有 Skill 塞进 AI Agent 上下文
    MySQL-Seconds_behind_master的精度误差
    [MAF预定义ChatClient中间件-03]CachingChatClient——利用缓存省钱省时间
    AI的至暗历史:从万众期待到被政府撤资,AI的两次死亡徘徊
    Agent OS :五种驯服不确定性的范式
    PortSwigger SQL注入LAB11
    数据库即时编译JIT
    [Begin]AI Learn Data Day 0
    深度学习进阶(二十七)现代 LLM 的核心架构设计其二:SwiGLU
  • 热门文章
  • 十款代码表白小特效 一个比一个浪漫 赶紧收藏起来吧!!!
    奉劝各位学弟学妹们,该打造你的技术影响力了!
    五年了,我在 CSDN 的两个一百万。
    Java俄罗斯方块,老程序员花了一个周末,连接中学年代!
    面试官都震惊,你这网络基础可以啊!
    你真的会用百度吗?我不信 — 那些不为人知的搜索引擎语法
    心情不好的时候,用 Python 画棵樱花树送给自己吧
    通宵一晚做出来的一款类似CS的第一人称射击游戏Demo!原来做游戏也不是很难,连憨憨学妹都学会了!
    13 万字 C 语言从入门到精通保姆级教程2021 年版
    10行代码集2000张美女图,Python爬虫120例,再上征途
小工具 小游戏
Copyright © 2022 侵权请联系2656653265@qq.com    京ICP备2022015340号-1

京公网安备 11010502049817号