`
donlianli
  • 浏览: 339189 次
  • 性别: Icon_minigender_1
  • 来自: 北京
博客专栏
Group-logo
Elasticsearch...
浏览量:217951
社区版块
存档分类
最新评论

elasticsearch 添加字段

阅读更多

Elasticsearch中的mapping一旦创建,就不能再修改。但是添加字段是可以的。其实很简单,只需在原来的mapping上面直接新增加一个field,然后重新创建一下mapping就可以了。

 

原mapping的定义如下:

private static XContentBuilder getMapping() throws Exception{
		XContentBuilder mapping = jsonBuilder()  
			       .startObject()  
			         .startObject("test")  
			         .startObject("properties")         
			           .startObject("id")
			           		.field("type", "long")
			           		.field("store", "yes")
			           	.endObject()    
			           	
			           .startObject("type")
			           		.field("type", "string")
			           		.field("index", "not_analyzed")
			           	.endObject()  
			           	
			           .startObject("catIds")
			           		.field("type", "integer")
			           .endObject()  
			         .endObject()  
			        .endObject()  
			      .endObject();  
		return mapping;
	}

 

现在加入要增加一个field,名称叫title。新增后的代码如下:

private static XContentBuilder getMapping() throws Exception{
		XContentBuilder mapping = jsonBuilder()  
			       .startObject()  
			         .startObject("test")  
			         .startObject("properties")         
			           .startObject("id")
			           		.field("type", "long")
			           		.field("store", "yes")
			           	.endObject()    
			           	
			           .startObject("type")
			           		.field("type", "string")
			           		.field("index", "not_analyzed")
			           	.endObject()  
			           	//新增字段
			           	 .startObject("title")
			           		.field("type", "string")
			           		.field("index", "analyzed")
			           	.endObject()  
			           	
			           .startObject("catIds")
			           		.field("type", "integer")
			           .endObject()  
			         .endObject()  
			        .endObject()  
			      .endObject();  
		return mapping;
	}

 

然后重新putMapping即可。

还不知道如何创建mapping?请看这里

 

 

 

 

 

对这类话题感兴趣?欢迎发送邮件至donlianli@126.com
关于我:邯郸人,擅长Java,Javascript,Extjs,oracle sql。
更多我之前的文章,可以访问 我的空间

 

分享到:
评论

相关推荐

    ES之_source字段详解

    在Elasticsearch(以下简称ES)中,_source字段扮演着至关重要的角色。它包含了索引时传递的原始JSON文档体。了解和掌握_source字段的工作原理对于优化查询性能、提高数据检索效率至关重要。 #### 二、_source字段...

    Elasticsearch(015):es常见的字段映射类型之数字类型(numeric)

    文章目录简介示例注意事项 ...#给example索引添加字段映射,默认docs类型 PUT example/docs/_mapping { properties: { id:{ type:long }, name:{ type:keyword }, age:{ type:integer },

    ElasticSearch添加索引.docx

    在Elasticsearch中,添加索引是数据存储和检索的基础操作。索引是Elasticsearch中的一个重要概念,它类似于传统数据库中的表。本篇将详细解释如何为Elasticsearch创建索引,以及索引文件中各项设置的意义。 首先,...

    elasticsearch7.17.10-最新支持Java1.8版本

    5. **动态映射**:Elasticsearch支持动态字段映射,意味着可以自动识别新添加字段的数据类型,无需预先定义。 6. **多租户**:一个Elasticsearch实例可以支持多个索引,每个索引有自己的设置和映射,实现资源隔离。...

    基于.netcore搜索封装ElasticSearch.zip

    8. **弹性伸缩**: 由于Elasticsearch天生支持分布式,因此当数据量或访问量增加时,可以通过添加更多节点来横向扩展系统。 这个.NET Core封装库可能已经对这些基本操作进行了简化,提供了更符合.NET开发者习惯的API...

    springboot整合es-springboot-elasticsearch.zip

    1. **添加依赖**:在SpringBoot项目的pom.xml文件中,引入Elasticsearch的Spring Data Elasticsearch依赖。确保版本与Elasticsearch服务器版本匹配。 ```xml <groupId>org.springframework.boot <artifactId>...

    elasticsearch7.17.11版本分词器插件安装包

    Elasticsearch(简称ES)是一款基于Lucene的分布式、RESTful搜索引擎,广泛应用于日志收集、数据分析等领域,是ELK(Elasticsearch、Logstash、Kibana)堆栈的重要组成部分。在处理中文数据时,合理的分词对于提升...

    springBoot动态操作Elasticsearch组件

    如果我们只想在特定字段上执行模糊查询,可以使用`@Query`注解配合Elasticsearch的查询语法。例如,定义一个方法`@Query("{\"match\":{\"fieldName\":\"?0\"}}") List<MyEntity> findByFixedField(String value)`,...

    ElasticSearch.zip

    Elasticsearch(简称 ES)是一种基于 Lucene 的开源全文搜索引擎,被广泛应用于大数据分析、日志收集、实时搜索等领域。它的设计目标是分布式、可扩展、高可用且易用,支持RESTful API,使得与ES交互变得简单。 **...

    Elasticsearch工具类

    关联查询在Elasticsearch中可以通过嵌套文档、父子文档或者多字段查询等方式实现。这些查询方式可以帮助我们处理复杂的数据关系,比如在一个文档中查找与之关联的其他文档。 文件名为"esutil"的类可能包含了上述...

    Go-elasticsearchloggolang的elasticsearch日志封装包括搜索查询添加等

    这通常涉及创建Elasticsearch的索引、类型,并将日志条目作为文档进行添加。库中的API可能会提供一个方法,例如`AddDocument`,接受日志对象并处理向Elasticsearch的发送工作,确保日志数据被正确格式化和发送。 ...

    Java操作ElasticSearch工具类【支持5.0+以上所有版本】

    -- 添加字段需要的JAR --> <!-- https://mvnrepository.com/artifact/org.elasticsearch.client/transport --> <groupId>org.elasticsearch.client <artifactId>transport <version>5.4.2 <!--...

    Elasticsearch 8.1.2 Linux版本

    2. **配置环境变量**:将Elasticsearch的bin目录添加到PATH环境变量中,以便于执行命令。 3. **修改配置文件**:主要修改`elasticsearch.yml`,包括设置节点名称、集群名称、数据路径、内存分配等。 4. **启动服务...

    ElasticSearch入门到精通(基于ELK技术栈ElasticSearch7.8.版本).rar

    在 SpringBoot 应用中集成 Elasticsearch,需要添加相应依赖,并配置 Elasticsearch 的连接信息。Spring Data Elasticsearch 提供了易于使用的 API 和 Repository 模式,简化了数据操作。 **6. Kibana 与可视化** ...

    php 的elasticsearch拓展

    这将会在你的项目中自动安装最新的Elasticsearch PHP客户端库,并将其添加到`composer.json`文件的`require`部分。 2. **配置与连接** 安装完成后,我们可以在PHP代码中创建一个Elasticsearch客户端实例,连接到...

    Spring Boot elasticsearch7.6.2基础操作:创建索引、新增数据、查询数据

    在本文中,我们将深入探讨如何使用Spring Boot与Elasticsearch 7.6.2进行基本操作,包括创建索引、添加数据以及查询数据。Elasticsearch是一个强大的分布式搜索引擎,而Spring Boot是Java开发中的轻量级框架,两者...

    Elasticsearch7.0实例精解 源代码.zip

    8. **集群管理**:Elasticsearch设计为分布式系统,集群管理涉及节点的添加、移除、监控健康状态和调整设置。`cluster.health` API可以查看集群健康状况。 9. **搜索性能优化**:通过设置倒排索引、合理分配分片、...

    elasticSearch的操作demo

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

Global site tag (gtag.js) - Google Analytics