目录
管理 Elasticsearch 的索引库(Index)
Solr 和 Elasticsearch 的共性
无论是Solr也好,还是Elasticsearch也好,基本的操作无非都是如下几个:
1、对索引库的添加、删除、查询
2、对指定索引库内文档添加、删除、查询。
3、Solr 的索引库叫 Core 或 Collection;但 Elasticsearch 的索引库叫 Index。
RDBMS 与 Elasticsearch、Solr 的概念大致对应关系
Index 的 Type
早期 Elasticsearch 的 Index 下还支持定义 Type,使用不同的 Type 来区分同一个 Index 下不同的文档,
早期的 Index 有点类似于 RDBMS 的数据库;
【猜测:】早期 Elasticsearch 应该是想将 Index 设计成类似 RDBMS 中数据库的概念,因此一个 Index可以保存多个不同类型(Type)的文档。
Elasticsearch 6.0 限制一个 Index 下最多只能定义一个 Type,此时的 Type 已经没有太大的实际意义了。
从 Elasticsearch 7.0 开始,Type 已被标记为过时 API,此时的 Index 基本相当于 RDBMS 的表(Solr中的core或collection)。
【提示】:当程序需要添加不同类型的文档时,你应该为Elasticsearch添加不同类型的Index,每个Index只保存一种类型的文档。
就是一个index索引库只能指定一种type类型,所以才说这个type其实可有可无,但是在给index添加文档的时候,又还需要指定type,相当于多此一举。
操作 Index(索引库)
因为 Elasticsearch 是一个 RestFul 风格的搜索引擎,因此它为各种不同的服务提供对应的 URL 地址,所以我们接下来的演示,可以用命令来演示,也可以直接用 postman 来发送请求进行演示。
1、添加 Index 用 PUT 请求:
curl -k -u elastic:123456 -X PUT https://localhost:9200/ljh_index
-k:指定忽略SSL证书验证。
-u:指定用户登录的凭证(user credential):用户名和密码。
创建索引库 ljh_Index 失败,因为索引库的名字必须小写,我这里的index 的i大写了
创建索引库成功:
命令中的 -u 对应 postman 的此处
命令中的 -k 对应 postman 的此处
2、查看当前有哪些 Index 用 GET 请求:
curl -k -u elastic:e123456 https://localhost:9200/_cat/indices
indices : 就是 index 的复数形式
3、删除 Index 用 DELETE 请求:
curl -k -u elastic:e123456 -X DELETE https://localhost:9200/ljh_index
删除 ljh_index 这个索引库
再查看一下,发现 ljh_index 这个索引库已经被删除了