Elasticsearch(2)——映射关系

这篇具有很好参考价值的文章主要介绍了Elasticsearch(2)——映射关系。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

1 什么是映射

映射(mapping)就像数据库中的 Schema ,描述了文档可能具有的字段或属性、每个字段的
数据类型,比如 Text,Keyword,Integer 或 Date ,以及 Lucene 是如何索引和存储这些字
段的。

Elasticsearch 支持如下简单字段类型:
(1) 字符串: text,keyword
(2)整数:byte,short,integer,long
(3)浮点数: float,double
(4) 布尔型: boolean
(5) 日期: date

当你索引一个包含新字段的文档之前【未自动配置映射关系时】,Elasticsearch通过JSON 中基本数据类型,尝试猜测字段类型,自动的加入到映射中。这是Elasticsearch中的动态索引,使用如下规则去映射文档字段。

JSON data type Elasticsearchdata type
null 不添加
true 或 false boolean 类型
带小数的数字,如 1.1 float 类型
整数,如 3 long 类型
字符串 如果配置了自动识别且通过了自动识别 会根据字符串的实际值去动态转换成Elasticsearch的数据类型。如 ‘2023-10-12’ date类型 ‘1.45’ float类型 ‘120’ long 类型 未配置自动识别,使用text 或者keyword类型

对于 JSON 中的字符串字段,我们可以通过配置 date_detection: true 和 numeric_detection:
true 尝试将它们转化成数值类型或时间类型,date_detection 默认为 true,numeric_detecti
on 默认为 false

2 查询映射

准备3条数据
Post http://localhost:9200/users/_create/1
Post http://localhost:9200/users/_create/2
Post http://localhost:9200/users/_create/3
请求的JSON参数如下

{
    "name":"张三",
    "sex":"male",
    "tel":85621
}
{
    "name":"晓明",
    "sex":"male",
    "tel":17885150125
}
{
    "name":"萧红",
    "sex":"female",
    "tel":89457
}

根据上述内容可知,Elasticsearch会在未定义索引的情形去检索JSON的数据类型自动去映射成为Elasticsearch中的数据类型。可以发送Get请求去查询映射关系
h t t p : / / l o c a l h o s t : 9200 / u s e r s / m a p p i n g \textcolor{red}{http://localhost:9200/users/_mapping} http://localhost:9200/users/mapping _mapping 映射操作
Elasticsearch(2)——映射关系,Elasticsearch,elasticsearch

3自定义映射关系

尽管在很多情况下基本字段数据类型已经够用,但你经常需要为单独字段自定义映射,特别是
字符串字段。自定义映射允许你执行下面的操作:
(1) 全文字符串字段和精确值字符串字段的区别
(2) 使用特定语言分析器
(3)优化字段以适应部分匹配
(4) 指定自定义数据格式

可以发送Put请求去自定义设置映射关系 h t t p : / / l o c a l h o s t : 9200 / u s e r 2 / m a p p i n g \textcolor{red}{http://localhost:9200/user2/_mapping} http://localhost:9200/user2/mapping

{
	"properties": {
        //允许的字段 name 
		"name": {
             // 类型为text,可分词查询
			"type": "text",
            //当前字段允许创建索引
			"index": true
		},
		"sex": {
            // 类型为keyword,不可分词查询
			"type": "keyword",
			"index": true
		},
        "tel": {
			"type": "keyword",
            //禁用索引 默认情况下,Elasticsearch 文档每个字段都会被索引。如果某些字段不需要支持查询,可以在映射中配置 "index": false ,减少存储空间占用,并且提升写入速度
			"index": false
		}
	}
}

值得注意的是,已有字段映射已存在的时候,不允许进行修改,比如说从long类型修改成为keyword类型,只能添加新字段
所以自定义创建映射时,选在user2 索引下创建。文章来源地址https://www.toymoban.com/news/detail-520641.html

到了这里,关于Elasticsearch(2)——映射关系的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • Elasticsearch的映射操作

    本文来记录下Elasticsearch的映射操作 Elasticsearch与mysql数据库对比 映射的概述 有了索引库,等于有了数据库中的 database。 索引库(index)中的映射,类似于数据库(database)中的表结构(table)。 创建数据库表需要设置字段名称,类型,长度,约束等;索引库也一样,需要知道这个类型

    2024年01月21日
    浏览(28)
  • Elasticsearch删除映射类型

    官方解释:https://www.elastic.co/guide/en/elasticsearch/reference/6.0/removal-of-types.html 在elasticsearch6.0.0或更高的版本中创建索引仅能包含单个映射类型。在具有多种映射类型的5.x版本中创建的索引将继续像以前一样在elasticsearch6.x中运行。类型将在elasticsearch7.0.0中的API中弃用,并在8.0.0中完

    2024年02月06日
    浏览(36)
  • Elasticsearch 映射Mappings (三)

    本文主要记录映射Mappings的作用、类型、ES常用数据类型、常见参数、重要的数据类型、映射配置、映射模板。 静态参数使不可修改的,所以mappings里的配置需要谨慎行事 mapping类似Mysql中的表结构,在Maping里包含了一些属性,比如字段名称、类型、字段使用的分词器、是否评

    2024年02月16日
    浏览(42)
  • Elasticsearch映射与字段类型

    Elasticsearch映射与字段类型 Elasticsearch是一个分布式、实时的搜索和分析引擎,基于Lucene库构建。它可以快速、高效地索引、搜索和分析大量数据。在Elasticsearch中,数据以文档的形式存储,每个文档都有一个唯一的ID。文档可以存储在一个索引中,索引可以存储在一个集群中。

    2024年02月22日
    浏览(61)
  • 14. Elasticsearch动态映射-1

    14.1 映射 类型和字段的信息存储(包含)在映射(mapping)中 Elasticsearch支持以下简单字段类型: 14.2 映射规则 Elasticsearch将使用动态映射猜测字段类型,这类型来自于JSON的基本数据类型,使用以下规则: 查看映射 14.3 动态映射 Elasticsearch最重要的功能之一是不必首先创建ind

    2023年04月08日
    浏览(27)
  • (4)elasticsearch的Mapping(映射)

    映射是定义文档及其包含的字段的存储和索引方式的过程。 两种映射方式 dynamic mapping(动态映射或自动映射) expllcit mapping(静态映射或手工映射或显示映射) Mapping数据类型 Mapping参数 https://www.elastic.co/guide/en/elasticsearch/reference/7.10/removal-of-types.html Mapping 也称之为映射,定义

    2024年02月03日
    浏览(33)
  • elasticsearch索引、文档、映射等概念

    1、文档(document) 文档是存储在Elasticsearch中的一个JSON格式的字符串。它就像在关系数据库中表的一行。每个存储在索引中的一个文档都有一个类型和一个ID,每个文档都是一个JSON对象,存储了零个或多个字段或键值对。原始的JSON文档被存储在一个叫做_source的字段中,当搜

    2023年04月17日
    浏览(45)
  • elasticSearch创建索引库、映射、文档

    创建索引库 使用postman或curl这样的工具创建 参数: number_of_shards:设置分片的数量,在集群中通常设置多个分片,表示一个索引库将拆分成多片分别存储不同的结点,提高了ES的处理能力和高可用性,入门程序使用单机环境,这里设置为1。 number_of_replicas:设置副本的数量,设

    2024年02月04日
    浏览(46)
  • Elasticsearch的数据类型与映射

    Elasticsearch是一个分布式、实时的搜索和分析引擎,它可以处理大量数据并提供快速、准确的搜索结果。在Elasticsearch中,数据类型和映射是两个重要的概念,它们在存储和查询数据时起着关键的作用。本文将深入探讨Elasticsearch的数据类型与映射,揭示其核心概念、算法原理、

    2024年02月19日
    浏览(36)
  • ElasticSearch基础篇-条件查询与映射

    条件查询 q:代表查询条件 响应结果 🔖 由于在域名后面添加查询条件不是很方便,所以我们一般使用json格式发送查询条件 匹配查询 query:代表查询条件 match:匹配查询 全量查询 match_all:匹配所有 分页查询 from:起始位置 (页码-1)*每页数据条数 size: 分页大小 字段过滤 _source:设置

    2024年02月14日
    浏览(45)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包