首页 > 其他分享 >4.数据类型

4.数据类型

时间:2024-03-21 15:44:35浏览次数:25  
标签:index keyword 数据类型 索引 Elasticsearch 类型

Elasticsearch 常见的数据类型有哪些? 

常见类型:

  关键词: keyword 、constant_keyword 和 wildcard
  数值型: long , integer , short , byte , double
  布尔型: boolean 
  日期型: date
  二进制: binary

结构化数据类型:

  范围型: integer_range , float_range , long_range , double_range
  ip 地址类型: ip
  软件版本: version

文字搜索类型:

  非结构化文本 : text
  包含特殊标记的文本: annotated-text
  自动完成建议: completion

对象和关系类型:

  嵌套类型: nested 、join
  对象类型 : object 、flattened

空间类型:

  地理坐标类型 : geo_point
  地理形状类型 : geo_shape

 

keyword text 有什么区别?

  keyword 不走分词器,而 text 会走分词器,使用keyword 关键字查询效率更高,一般在fields 中定义keyword 类型字段

 

Elasticsearch 是否有数组类型?

  在 Elasticsearch 中,没有专门的数组数据类型。默认情况下,任何字段都可以包含零个或多个值,但是,数组中的所有值必须具有相同的数据类型。

Elasticsearch 怎么修改索引字段类型?

  1、获取源索引的数据(mapping) 并创建临时索引:data_index_temp,
  2、备份数据到临时索引:data_index_temp
  3、删除原索引: data_index,
  4、重新创建正确数据类型索引:data_index
  5、再把临时索引:data_index_temp的数据备份到新创建索引 data_index。
以上语句通过kibana的 dev_tools/console 执行。


可以在 Mapping 中直接修改字段类型吗?

  不可以!Elasticsearch 中的 Mapping 有点类似于数据库中的表结构定义,Mapping 中的字段类型只能增加不能修改,否则只能reindex 重新索引或者重新进行数据建模并导入数据。

 

什么是 Nested 数据类型?有什么用?

Elasticsearch 官方文档是这样介绍 Nested 数据类型的:

  Nested (嵌套)类型是对象数据类型的特殊版本,它允许对象数组以一种可以相互独立查询的方式进行索引。

  Nested 数据类型可以避免 数组扁平化处理,多个数组的字段会做一个笛卡尔积,导致查询出不存在的数据。

 

// 会导致查询John White也会匹配,将类型改为nested问题解决
PUT my_index/_doc/1
{
    "group" : "fans",
    "user" : [
     {
        "first" : "John",
        "last" : "Smith"
      },
    {
        "first" : "Alice",
        "last" : "White"
    }
    ]
}        

 

 

 

将多个字段值合并为一个字段怎么做?

使用 ,比如将 first_name 和 last_name 合并为 full_name ,但 full_name 不在查询结果中展示

 

标签:index,keyword,数据类型,索引,Elasticsearch,类型
From: https://www.cnblogs.com/cjhtxdy/p/18087535

相关文章

  • Java数据类型详解(更新中)
    基本数据类型概览共8种:整型byte、short、int、long         浮点型float、double           字符型char           布尔型boolean大小1位即1bit,一字节(byte)等于8bit数据类型数据范围byte8位(一个字节)-127~128(2^7)short......
  • C数据类型(C语言)---变量的类型决定了什么?
    目录数据类型(DataType)变量的类型决定了什么?(1)不同类型数据占用的内存大小不同如何计算变量或类型占内存的大小(2)不同数据类型的表数范围不同(3)不同类型数据的存储形式不同整型数定点数与浮点数字符型数据(英文字母、数字、控制字符)(4)不同数据类型可参与的运算不同整型......
  • Python小白的福利之基本数据类型
    简单的数据类型以及赋值变量不需要声明Python的变量不需要声明,你可以直接输入:>>>a = 10那么你的内存里就有了一个变量a,它的值是10,它的类型是integer(整数)。在此之前你不需要做什么特别的声明,而数据类型是Python自动决定的。>>>print a>>>print type(a)那......
  • 前端基础之JavaScript的数据类型
    一、常用的调试语句方法说明示例归属alert(msg);警告,在浏览器中弹出一个警告框,内容为alert里面的内容alert("Surprise");浏览器closole.log(msg);控制台,在控制台内输出一些内容console.log("Surprise");浏览器prompt(问题,值);对话框,第一个参数是询问内......
  • Redis第三弹,定时删除1.优先级队列(堆)2.基于时间轮实现的定时器​编辑Type指令(返回key对
    目录定时删除1.优先级队列(堆)2.基于时间轮实现的定时器​编辑Type指令(返回key对应的数据类型)redis的数据类型hsetkeyfieldvalue(这里是使用hash作为数据结构)小结定时删除redis并未实现定时器的方式,实现定时器的方式,实现过期key删除,若多个key过期,也可通过一个......
  • JavaScript学习笔记3: 数据类型,运算符,类型转换
    JS数据类型,运算符,类型转换利用typeof获取数据类型数字3的类型<script>console.log("3的类型:"+typeof3);</script>浮点数<script>console.log("3.14的类型:"+typeof3.14);</script>字符串<script>console.log("'......
  • Go01-开发环境搭建+注释+基本数据类型+指针+命名规范
    Go01-开发环境搭建+注释+基本数据类型+指针+命名规范1.Go常用网站https://www.topgoer.com/,Go学习网站,包含Go基础教程、beego、lris等Go开发常用框架。Go开发软件下载:https://code.visualstudio.com/,VSCode;https://www.jetbrains.com/zh-cn/go/,GOLand。https://studygolang.c......
  • C#数据类型(详细)
    数据类型分类: 值类型(Valuetypes)引用类型(Referencetypes)指针类型(Pointertypes)值类型(Valuetypes)---变量可以直接分配值。 值类型直接包含数据。比如 int、char、float,它们分别存储数字、字符、浮点数。当您声明一个 int 类型时,系统分配内存来存储值。下表列出了......
  • 实验一 c语言开发环境使用和数据类型、运算符、表达式
    task1`#include<stdio.h>include<stdlib.h>intmain(){printf("o\to\n");printf("<H>\t<H>\n");printf("II\tII\n");system("pause:");return0;}`task2`#include......
  • 实验1 C语言开发环境使用和数据类型、运算符、表达式
    点击查看代码#include<stdio.h>#include<stdlib.h>intmain(){ printf("oo\n"); printf("<H><H>\n"); printf("IIII\n"); system("pause"); return0;}点击查看代码#include<stdio......