MST

星途 面试题库

面试题:ElasticSearch中常见的映射数据类型及应用场景

请阐述ElasticSearch中几种常见的映射数据类型,如text、keyword、number等,并举例说明每种数据类型适用的业务场景。
38.9万 热度难度
数据库ElasticSearch

知识考点

AI 面试

面试题答案

一键面试

text

  • 说明:用于全文搜索的文本类型。它会在索引时进行分词处理,将文本拆分成一个个单词,构建倒排索引。
  • 业务场景:适用于需要进行全文检索的场景,例如文章内容、产品描述等。比如新闻网站的文章正文,用户可能会输入不同的关键词来搜索相关文章,对文章正文使用text类型就可以实现这种灵活的全文检索。

keyword

  • 说明:用于精确匹配的字符串类型。它不会进行分词,会将整个字符串作为一个词条进行索引。
  • 业务场景:适用于需要精确匹配的场景,如身份证号、订单号、邮编等。例如电商系统中查询特定订单号的订单,订单号字段使用keyword类型,能快速准确地定位到对应订单。

number

  • 说明:用于存储数值类型的数据,包括long(长整型)、integer(整型)、short(短整型)、byte(字节型)、double(双精度浮点型)、float(单精度浮点型)等不同精度的数值类型。
  • 业务场景:适用于数值计算和范围查询的场景。比如电商系统中商品的价格,可使用doublefloat类型存储,方便进行价格比较、区间筛选等操作;又如统计网站访问量,使用long类型存储访问量数值。

date

  • 说明:用于存储日期和时间类型的数据。支持多种日期格式,可进行日期范围查询等操作。
  • 业务场景:适用于与时间相关的场景,如订单创建时间、文章发布时间等。例如在新闻系统中,根据文章发布时间进行排序展示,或者查询某段时间内发布的文章,就需要将发布时间字段设置为date类型。

boolean

  • 说明:用于存储布尔值(truefalse)。
  • 业务场景:适用于表示状态的场景,如商品是否上架、用户是否激活等。在电商系统中,商品是否上架字段使用boolean类型,方便快速判断商品当前状态。