本文将介绍一下Elasticsearch的入门用法,也是自己总结了在学习过程中觉得非常有趣的地方。
Index的基本使用
当谈论Elasticsearch索引时,我们实际上是在讨论存储、组织和检索数据的重要概念,而不是传统数据库中的索引。
创建索引
在Elasticsearch中,索引可以手动创建也可以自动创建
- 手动创建索引:
手动创建索引是指明确指定索引名称、字段映射和设置,然后使用Elasticsearch API或工具来创建索引。这种方法通常用于精确控制索引的结构和属性。
例如,使用Elasticsearch REST API可以手动创建一个名为my-index
的索引:
PUT /my-index
{
"mappings": {
"properties": {
"title": {
"type": "text"
},
"date": {
"type": "date"
}
}
}
}
这将创建my-index
索引,定义了title
字段为文本类型,date
字段为日期类型。
- 自动创建索引:
自动创建索引是在将文档写入尚不存在的索引时,Elasticsearch会自动创建新的索引。
例如,如果向名为auto-index
的索引添加以下文档:
POST /auto-index/_doc/1
{
"title": "Sample Document",
"date": "2023-01-01"
}
Elasticsearch会自动创建auto-index
索引,并根据文档中的字段类型自动映射字段。在这种情况下,title
字段将被映射为文本,date
字段将被映射为日期。
在较早的Elasticsearch版本中,允许在同一个索引中创建不同类型的文档,每个文档类型都可以具有不同的映射和结构。这允许了一定程度的灵活性,但同时也引入了复杂性和潜在的问题。
例如,我们可以在同一索引中创建user
类型和product
类型的文档。这允许了多种文档类型的混合存储。
以下是Elasticsearch 6.x及更早版本的示例:
PUT /my-index
{
"mappings": {
"user": {
"properties": {
"name": {
"type": "text" },