Elasticsearch索引管理

本文涉及的产品
检索分析服务 Elasticsearch 版,2核4GB开发者规格 1个月
简介: 1.判断索引是否存在IndicesExistsResponse indexResponse = ia.client.admin().

1.判断索引是否存在

IndicesExistsResponse indexResponse = ia.client.admin().indices().prepareExists("blog")
.execute().actionGet();

System.out.println(indexResponse.isExists());

也可以同时判断多个索引是否存在:

IndicesExistsResponse indexResponse = ia.client.admin().indices().prepareExists("blog","blog1")
.execute().actionGet();

2. 判断类型是否存在

TypesExistsResponse typeResponse = ia.client.admin().indices()
.prepareTypesExists("news").setTypes("document")
.execute().actionGet();
System.out.println(typeResponse.isExists());

3.删除索引

DeleteIndexResponse deleteResponse = ia.client.admin().indices().prepareDelete("news")
                .execute().actionGet();
if (deleteResponse.isAcknowledged()) {
    System.out.println("删除索引成功");
} else {
    System.out.println("删除索引失败");
}

4.创建索引

CreateIndexResponse createIndexResponse = ia.client.admin().indices().prepareCreate("news")
                .execute().actionGet();
if (createIndexResponse.isAcknowledged()) {
    System.out.println("创建索引成功");
} else {
    System.out.println("创建索引失败");
}

5.关闭索引

关闭不使用的索引可以释放节点和集群的资源(比如CPU时钟周期和内存),如果某个索引库不想被搜索也可以直接关闭.
关闭索引的RESTful命令:

curl  -XPOST "http://127.0.0.1:9200/indexname/_close"

java api:

CloseIndexResponse cIndexResponse = ia.client.admin().indices().prepareClose("indexname ")
.execute().actionGet();
if (cIndexResponse.isAcknowledged()) {
    System.out.println("关闭索引成功");
} 

如果要关闭的索引不存在的话会报错.
也可以一次关闭多个索引:

CloseIndexResponse cIndexResponse = ia.client.admin().indices()
        .prepareClose("indexname1","indexname2")
.execute()
.actionGet();

6.打开索引

把已经关闭的索引打开。
RESTful命令:

curl -XPOST "http://127.0.0.1:9200/indexname/_open"

打开索引的Java api:

OpenIndexResponse oIndexResponse = ia.client.admin().indices()
.prepareOpen("indexname1","indexname2")
.execute().actionGet();

System.out.println(oIndexResponse.isAcknowledged());

同样,要打开的索引必须是存在的,否则会报IndexNotFoundException.

相关实践学习
使用阿里云Elasticsearch体验信息检索加速
通过创建登录阿里云Elasticsearch集群,使用DataWorks将MySQL数据同步至Elasticsearch,体验多条件检索效果,简单展示数据同步和信息检索加速的过程和操作。
ElasticSearch 入门精讲
ElasticSearch是一个开源的、基于Lucene的、分布式、高扩展、高实时的搜索与数据分析引擎。根据DB-Engines的排名显示,Elasticsearch是最受欢迎的企业搜索引擎,其次是Apache Solr(也是基于Lucene)。 ElasticSearch的实现原理主要分为以下几个步骤: 用户将数据提交到Elastic Search 数据库中 通过分词控制器去将对应的语句分词,将其权重和分词结果一并存入数据 当用户搜索数据时候,再根据权重将结果排名、打分 将返回结果呈现给用户 Elasticsearch可以用于搜索各种文档。它提供可扩展的搜索,具有接近实时的搜索,并支持多租户。
目录
相关文章
|
2月前
|
自然语言处理 大数据 应用服务中间件
大数据-172 Elasticsearch 索引操作 与 IK 分词器 自定义停用词 Nginx 服务
大数据-172 Elasticsearch 索引操作 与 IK 分词器 自定义停用词 Nginx 服务
72 5
|
2月前
|
存储 分布式计算 大数据
大数据-169 Elasticsearch 索引使用 与 架构概念 增删改查
大数据-169 Elasticsearch 索引使用 与 架构概念 增删改查
66 3
|
4月前
|
存储 API 数据库
检索服务elasticsearch索引(Index)
【8月更文挑战第23天】
70 6
|
1月前
|
存储 缓存 监控
优化Elasticsearch 索引设计
优化Elasticsearch 索引设计
22 5
|
1月前
|
存储 JSON 关系型数据库
Elasticsearch 索引
【11月更文挑战第3天】
42 4
|
1月前
|
测试技术 API 开发工具
ElasticSearch7.6.x 模板及滚动索引创建及注意事项
ElasticSearch7.6.x 模板及滚动索引创建及注意事项
47 8
|
3月前
|
JSON 自然语言处理 数据库
ElasticSearch基础1——索引和文档。Kibana,RestClient操作索引和文档+黑马旅游ES库导入
概念、ik分词器、倒排索引、索引和文档的增删改查、RestClient对索引和文档的增删改查
ElasticSearch基础1——索引和文档。Kibana,RestClient操作索引和文档+黑马旅游ES库导入
|
3月前
|
存储 搜索推荐 数据建模
Elasticsearch 的数据建模与索引设计
【9月更文第3天】Elasticsearch 是一个基于 Lucene 的搜索引擎,广泛应用于全文检索、数据分析等领域。为了确保 Elasticsearch 的高效运行,合理的数据建模和索引设计至关重要。本文将探讨如何为不同的应用场景设计高效的索引结构,并分享一些数据建模的最佳实践。
153 2
|
4月前
|
JSON 自然语言处理 数据库
Elasticsearch从入门到项目部署 安装 分词器 索引库操作
这篇文章详细介绍了Elasticsearch的基本概念、倒排索引原理、安装部署、IK分词器的使用,以及如何在Elasticsearch中进行索引库的CRUD操作,旨在帮助读者从入门到项目部署全面掌握Elasticsearch的使用。
|
4月前
|
自然语言处理 Java 索引
ElasticSearch 实现分词全文检索 - Java SpringBoot ES 索引操作
ElasticSearch 实现分词全文检索 - Java SpringBoot ES 索引操作
49 0
下一篇
DataWorks