创建 elastic search 索引的一些注意事项

本文涉及的产品
检索分析服务 Elasticsearch 版,2核4GB开发者规格 1个月
简介: 创建 elastic search 索引的一些注意事项

在创建 Elasticsearch(简称 ES)索引时,有多个注意事项需要考虑。以下是一些关键的注意事项,我会通过具体的例子进行详细说明。


1、明确索引需求:在创建索引之前,我们需要对我们的数据和查询需求有清晰的理解。这包括数据的类型(例如文本,数字,日期等)、数据的大小(例如是否有大量的数据需要被索引)、查询的需求(例如是否需要全文搜索,是否需要聚合操作等)。这些因素都会影响我们如何设置索引的映射和设置。


例如,假设我们有一个包含用户信息的数据集,每个用户有姓名、年龄、生日、地址等属性。如果我们需要对姓名进行全文搜索,对年龄进行范围查询,对生日进行聚合操作,那么我们在创建索引时就需要为每个字段设置相应的类型和分析器。


2、索引映射:映射是定义索引中字段如何存储和如何搜索的过程。我们可以为每个字段定义类型(例如 text,keyword,date,long 等),也可以定义分析器、格式化器等。

例如,我们可以为上述用户信息数据集创建如下的映射:

PUT /user
{
  `mappings`: {
    `properties`: {
      `name`: { `type`: `text` },
      `age`: { `type`: `integer` },
      `birthday`: { `type`: `date`, `format`: `yyyy-MM-dd` },
      `address`: { `type`: `keyword` }
    }
  }
}


在这个映射中,name 字段被设置为 text 类型,可以进行全文搜索。age 字段被设置为 integer 类型,可以进行范围查询。birthday 字段被设置为 date 类型,并定义了日期的格式。address 字段被设置为 keyword 类型,可以进行精确搜索。


3、索引设置:在创建索引时,我们可以定义一些设置,包括分片数、副本数、刷新间隔等。

例如,假设我们的用户信息数据集非常大,我们可以将分片数设置为 5,将副本数设置为 1,以提高搜索性能和数据的可用性:

PUT /user
{
  `settings`: {
    `number_of_shards`: 5,
    `number_of_replicas`: 1
  },
  ...
}


需要注意的是,索引的分片数在创建时就需要定义好,之后无法更改。而副本数可以在之后进行修改。


4、动态映射:ES 默认开启动态映射功能,这意味着如果索引中新加入的文档包含新的字段,ES 会自动为这些新字段创建映射。虽然这个功能在某些情况下很有用,但在某些情况下也可能导致问题。

相关实践学习
使用阿里云Elasticsearch体验信息检索加速
通过创建登录阿里云Elasticsearch集群,使用DataWorks将MySQL数据同步至Elasticsearch,体验多条件检索效果,简单展示数据同步和信息检索加速的过程和操作。
ElasticSearch 入门精讲
ElasticSearch是一个开源的、基于Lucene的、分布式、高扩展、高实时的搜索与数据分析引擎。根据DB-Engines的排名显示,Elasticsearch是最受欢迎的企业搜索引擎,其次是Apache Solr(也是基于Lucene)。 ElasticSearch的实现原理主要分为以下几个步骤: 用户将数据提交到Elastic Search 数据库中 通过分词控制器去将对应的语句分词,将其权重和分词结果一并存入数据 当用户搜索数据时候,再根据权重将结果排名、打分 将返回结果呈现给用户 Elasticsearch可以用于搜索各种文档。它提供可扩展的搜索,具有接近实时的搜索,并支持多租户。
相关文章
|
2月前
|
API 网络架构 索引
Elasticsearch索引中数据的增删改查与并发控制
Elasticsearch索引中数据的增删改查与并发控制
29 0
|
2月前
|
存储 自然语言处理 数据库
使用Elasticsearch映射定义索引结构
使用Elasticsearch映射定义索引结构
31 0
|
2月前
|
存储 JSON 监控
Elasticsearch索引监控全面解析
Elasticsearch索引监控全面解析
33 0
|
10天前
|
存储 运维 搜索推荐
运维开发.索引引擎ElasticSearch.倒序索引的概念
运维开发.索引引擎ElasticSearch.倒序索引的概念
28 1
|
1月前
|
索引
Elasticsearch 查看磁盘占用 查看指定索引磁盘占用
【7月更文挑战第2天】Elasticsearch 查看磁盘占用 查看指定索引磁盘占用
|
1天前
|
JSON 自然语言处理 数据库
Elasticsearch从入门到项目部署 安装 分词器 索引库操作
这篇文章详细介绍了Elasticsearch的基本概念、倒排索引原理、安装部署、IK分词器的使用,以及如何在Elasticsearch中进行索引库的CRUD操作,旨在帮助读者从入门到项目部署全面掌握Elasticsearch的使用。
10 0
|
5天前
|
自然语言处理 Java 索引
ElasticSearch 实现分词全文检索 - Java SpringBoot ES 索引操作
ElasticSearch 实现分词全文检索 - Java SpringBoot ES 索引操作
15 0
|
10天前
|
运维 安全 网络协议
运维.索引引擎ElasticSearch.记录一个小异常:received plaintext http traffic on an https channel
运维.索引引擎ElasticSearch.记录一个小异常:received plaintext http traffic on an https channel
28 0
|
1月前
|
存储 搜索推荐 数据可视化
【Elasticsearch】Elasticsearch索引创建与管理详解
【Elasticsearch】Elasticsearch索引创建与管理详解
137 10
|
23天前
|
存储 SQL 自然语言处理
Elasticsearch 索引与文档的常用操作总结二:复杂条件查询
Elasticsearch 索引与文档的常用操作总结二:复杂条件查询
38 0