带你读《Elastic Stack 实战手册》之17:—— 3.4.2.2.理解mapping(中)

简介: 带你读《Elastic Stack 实战手册》之17:—— 3.4.2.2.理解mapping(中)

《Elastic Stack 实战手册》——三、产品能力——3.4.入门篇——3.4.2.Elasticsearch基础应用—— 3.4.2.2.理解mapping(上) https://developer.aliyun.com/article/1231104


查看映射

 

通过 /_mapping ,我们可以查看 Elasticsearch 在一个或多个索引中的映射。

 

#Elasticsearch 文档写入示例:
PUT twitter/_doc/1
{
    "user": "kimchy",
    "post_date": "2009-11-15T13:12:00",
    "message": "Trying out Elasticsearch, so far so good?"
}
PUT twitter/_doc/2
{
    "user": "kimchy",
    "post_date": "2009-11-15T14:12:12",
    "message": "Another tweet, will it be indexed?"
}
PUT twitter/_doc/3
{
    "user": "elastic",
    "post_date": "2010-01-15T01:46:38",
    "message": "Building the site, should be kewl"
}

查看索引映射示例:


GET twitter/_mapping

Elasticsearch 根据我们索引的文档,为字段动态生成的映射:


{
  "twitter" : {
    "mappings" : {
      "properties" : {
        "message" : {
          "type" : "text",
          "fields" : {
            "keyword" : {
              "type" : "keyword",
              "ignore_above" : 256
            }
          }
        },
        "post_date" : {
          "type" : "date"
        },
        "user" : {
          "type" : "text",
          "fields" : {
            "keyword" : {
              "type" : "keyword",
              "ignore_above" : 256
            }
          }
        }
      }
    }
  }
}

注意:错误的映射,例如将年龄字段映射为 text 类型,而不是 integer,会导致查询出现令人困惑的结果。

 

检查一下,而不是假设你的映射是正确的。

 

自定义字段映射

 

尽管在很多情况下基本字段数据类型已经够用,但你经常需要为单独字段自定义映射,特别是字符串字段。自定义映射允许你执行下面的操作:

 

l 全文字符串字段和精确值字符串字段的区别

l 使用特定语言分析器

l 优化字段以适应部分匹配

l 指定自定义数据格式

l 还有更多

 

字段最重要的属性是 type 。


{
    "number_of_clicks": {
        "type": "integer"
    }
}

字符串字段类型,包括全文字符串 text 和精确值字符串 keyword。

 

text 类型字段的最重要属性是分析器 analyzer,默认 Elasticsearch 使用 Standard 分析器, 但你可以指定一个内置的分析器替代它,例如 whitespace 、 simple 、english、cjk:

 

{
   "message": {
    "type": "text",
    "analyzer": "cjk"
  }
}

《Elastic Stack 实战手册》——三、产品能力——3.4.入门篇——3.4.2.Elasticsearch基础应用—— 3.4.2.2.理解mapping(下) https://developer.aliyun.com/article/1231102

相关实践学习
以电商场景为例搭建AI语义搜索应用
本实验旨在通过阿里云Elasticsearch结合阿里云搜索开发工作台AI模型服务,构建一个高效、精准的语义搜索系统,模拟电商场景,深入理解AI搜索技术原理并掌握其实现过程。
ElasticSearch 最新快速入门教程
本课程由千锋教育提供。全文搜索的需求非常大。而开源的解决办法Elasricsearch(Elastic)就是一个非常好的工具。目前是全文搜索引擎的首选。本系列教程由浅入深讲解了在CentOS7系统下如何搭建ElasticSearch,如何使用Kibana实现各种方式的搜索并详细分析了搜索的原理,最后讲解了在Java应用中如何集成ElasticSearch并实现搜索。  
相关文章
|
5月前
|
SQL 人工智能 运维
PolarDB分布式版 AI 助手正式上线:你的“数字DBA”已入职
PolarDB-X AI助手正式上线!基于大模型与MCP技能体系,深度集成于控制台,支持自然语言交互,覆盖故障诊断、性能优化、安全审计等30+运维场景,让分布式数据库运维更智能、高效、零门槛。
404 0
|
数据可视化 数据挖掘
R中单细胞RNA-seq分析教程 (9)
R中单细胞RNA-seq分析教程 (9)
R中单细胞RNA-seq分析教程 (9)
|
Web App开发 存储 JavaScript
浏览器之性能指标-TTI
浏览器之性能指标-TTI
649 0
|
存储 芯片 块存储
计算机组成原理(2)-----存储芯片与CPU的连接
计算机组成原理(2)-----存储芯片与CPU的连接
1642 1
【Axure教程】中继器表格集合(增删改查筛选移动排序等效果)
【Axure教程】中继器表格集合(增删改查筛选移动排序等效果)
【Axure教程】中继器表格集合(增删改查筛选移动排序等效果)
|
安全 Java Android开发
【Android 逆向】Dalvik 函数抽取加壳 ( Dalvik 下的函数指令抽取与恢复 | dex 函数指令恢复时机点 | 类加载流程 : 加载、链接、初始化 )
【Android 逆向】Dalvik 函数抽取加壳 ( Dalvik 下的函数指令抽取与恢复 | dex 函数指令恢复时机点 | 类加载流程 : 加载、链接、初始化 )
564 0
【Android 逆向】Dalvik 函数抽取加壳 ( Dalvik 下的函数指令抽取与恢复 | dex 函数指令恢复时机点 | 类加载流程 : 加载、链接、初始化 )
|
Java 关系型数据库 MySQL
飞天加速计划·高校学生在家实践
使用阿里云服务器上线订餐网站项目的心得总结。
|
存储 大数据 数据库
|
存储 分布式计算 MaxCompute
一分钟了解阿里云产品:数据集成概述
阿里云的众多产品中,数据集成肯定是其中重要的一员。今天让我们来一起了解下数据集成吧。   什么是数据集成呢?     数据集成(Data Integration),简称CDP,是阿里集团对外提供的稳定高效、弹性伸缩的数据同步平台,为阿里云大数据计算引擎(包括ODPS、分析型数据库、OSPS
6312 0
|
5天前
|
人工智能 JSON API
全网刷屏的 Jev 模型正式开放!一手实战测评 + 保姆级教程
全网爆火的 Jev 模型是什么?有什么用?怎么使用?怎么接入 AI 编程工具?效果真的好么?傻子可懂的 Jev 保姆级实战教程 + 项目实战测评来啦
5986 8

热门文章

最新文章