`

ElasticSearch (3) Java API -- put mapping to index

 
阅读更多

// make sure the index existing before putting the mapping

Map map = client.admin().cluster()
					.health(new ClusterHealthRequest(indexName)).actionGet()
					.getIndices();
			// map is always empty!!??
			boolean exists = map.containsKey(indexName);
			if (!exists) {
				client.admin().indices()
						.create(new CreateIndexRequest(indexName)).actionGet();
				// waitForYellow
				client.admin()
						.cluster()
						.health(new ClusterHealthRequest(indexName)
								.waitForYellowStatus()).actionGet();

			} 

			XContentBuilder mapping = XContentFactory.jsonBuilder().startObject()
					.startObject("settings").startObject("_source")
					.field("enabled", false).endObject()
					.startObject("properties")
					.startObject("hostname").field("type", "string").field("store", "no").field("index","not_analyzed").endObject()
					.startObject("logtype").field("type", "string").field("store", "no").field("index","not_analyzed").endObject()
					.startObject("env").field("type", "string").field("store", "no").field("index","not_analyzed").endObject()
					.startObject("logpath").field("type", "string").field("store", "no").field("index","not_analyzed").endObject()
					.startObject("logfilename").field("type", "string").field("store", "no").field("index","not_analyzed").endObject()
					.startObject("timestamp").field("type", "long").field("store", "no").field("index","not_analyzed").endObject()
					.startObject("eventbody").field("type", "string").field("store", "no").endObject()
					.endObject()
					.endObject()
					.endObject();

			PutMappingRequest putMappingRequest = new PutMappingRequest(
					indexName);
			putMappingRequest.type(indexName);
			putMappingRequest.source(mapping);
			PutMappingResponse putMappingResponse = client.admin().indices()
					.putMapping(putMappingRequest).actionGet();
			putMappingResponse.acknowledged();

			PutMappingRequestBuilder pmrb = client.admin().indices()
					.preparePutMapping(indexName).setType(indexName);

			pmrb.setSource(XContentFactory.jsonBuilder());

			long startTime = System.currentTimeMillis();
			while ((sCurrentLine = br.readLine()) != null) {

				rowkey = indexName + ":" + timeStamp + ":" + timeStamp + ":"
						+ ESserver;
				bulkRequest.add(client.prepareIndex(indexName, indexName, rowkey)
						.setSource(
								jsonBuilder().startObject()
										.field("hostname", testCaseMetaInfo.getHostName())
										.field("logtype", testCaseMetaInfo.getLogType())
										.field("env", testCaseMetaInfo.getEnv())
										.field("logpath", testCaseMetaInfo.getEnv())
										.field("logfilename", testCaseMetaInfo.getLogFileName())
										.field("timestamp", timeStamp)
										.field("eventbody", sCurrentLine) 
										.endObject()));

				if (i % 100 == 0) {
					bulkRequest.execute().actionGet();
					bulkRequest = client.prepareBulk();
					System.out.println(i);
				}
				i++;
				timeStamp++;
			}
分享到:
评论
3 楼 di1984HIT 2014-11-03  
这个是默认的。!
2 楼 di1984HIT 2014-11-02  
谢谢,学习了~~~
1 楼 di1984HIT 2014-09-24  
写的很好,谢谢啦

相关推荐

    最新版windows elasticsearch-8.1.1-windows-x86_64.zip

    - 设置环境变量`JAVA_HOME`指向JDK的安装路径,确保Elasticsearch能识别Java运行环境。 3. **启动与管理**: - 使用命令行启动Elasticsearch,进入解压目录执行`bin/elasticsearch.bat`。 - 使用`bin/elastic...

    分布式搜索 elasticsearch 方案研究 - Java API

    ### 分布式搜索Elasticsearch方案研究 - Java API #### 一、与集群交互 Elasticsearch 是一种流行的企业级搜索引擎,广泛应用于日志分析、全文检索等场景。本章节将详细介绍如何通过 Java API 实现应用程序与 ...

    Elasticsearch的javaapi使用.pdf

    其Java API允许开发者直接通过Java代码与Elasticsearch集群交互,实现数据的增删改查、索引管理和集群操作等功能。以下是对Elasticsearch Java API使用的详细介绍: 1. **环境配置**: - JDK:首先确保安装了JDK ...

    最新版linux elasticsearch-8.1.1-linux-x86_64.tar.gz

    - 启动Elasticsearch:`bin/elasticsearch`,如果使用Java环境变量,可能还需要配置`JAVA_HOME`。 3. **RESTful API** Elasticsearch基于HTTP的RESTful接口进行操作,便于通过各种编程语言与其交互。常见的API...

    elasticSearch的操作demo

    最后,`es`包可能是Elasticsearch相关的操作接口或抽象类,它们定义了与Elasticsearch交互的方法,如添加、更新、删除文档,以及查询等。例如: ```java public interface ElasticsearchRepository { void save...

    Java操作Elasticsearch

    Java API是Elasticsearch官方提供的主要客户端,允许开发者直接在Java代码中方便地进行索引、搜索、映射和过滤等操作。 ### 1. **Search(搜索)** 在Java中,使用Elasticsearch进行搜索主要涉及以下步骤: 1. 创建...

    elasticsearch数据库下载、配置、使用案例PPT模板

    ### Elasticsearch数据库的下载、配置与使用案例 #### 一、Elasticsearch数据库的下载与安装 **1.1 下载与解压** - **下载Elasticsearch:** - **官方网站下载:** 访问Elasticsearch官方网站...

    ElasticSearch入门篇.docx

    ### ElasticSearch 入门知识点详解 #### 一、ElasticSearch 概览 **1.1 ElasticSearch 的...此外,通过集成第三方工具如Talend API tester和Elasticsearch-Head,我们还能更加方便地管理和操作ElasticSearch实例。

    elasticsearch-6.5 Linux版本,亲测可用.zip

    - 创建索引时,可以使用`PUT /index_name` API,指定映射(mapping)来定义字段的类型和分析器。 - 索引数据使用`POST /index_name/_doc`,JSON格式的数据将被添加到文档中。 8. **查询与分析** - Elasticsearch...

    Elasticsearch.Server.3rd.Edition

    - **Java 安装**: Elasticsearch 需要在 Java 运行环境中运行,因此首先需要安装 Java。 - **Elasticsearch 安装**: 包括直接下载压缩包、使用包管理器等方式。 - **系统服务配置**: 可以将 Elasticsearch 配置为 ...

    千锋2018elasticsearch笔记修改.docx

    Elasticsearch使用Java语言编写,并遵循Apache许可协议开源发布,目前已成为企业级搜索领域的首选解决方案之一。 **特性:** - **分布式架构:** 支持多用户并发访问,并可水平扩展以应对更大规模的数据处理需求。...

    elasticsearch

    **Elasticsearch 深度解析** Elasticsearch 是一个基于 Lucene 的开源搜索引擎,以其分布式、实时、可扩展和高可用性而闻名。它不仅仅是一个搜索服务,更是一个数据分析和检索的平台,广泛应用于日志分析、监控、...

    ElasticSearch第二天1

    在本篇"ElasticSearch第二天1"的学习中,我们将聚焦于使用Java客户端进行Elasticsearch的各种操作,包括创建和删除索引、文档的增删改查、分页查询、高亮查询,以及集成Spring Data ElasticSearch进行操作。...

    bboss+es基本操作示例.zip

    bboss(Business Basic Operation Support)框架则是针对Elasticsearch设计的一套高效、易用的Java API,它提供了丰富的DSL(Domain Specific Language)操作支持,使得开发者能够更加便捷地与Elasticsearch进行交互...

Global site tag (gtag.js) - Google Analytics