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。
更多我之前的文章,可以访问 我的空间
相关推荐
在Elasticsearch(以下简称ES)中,_source字段扮演着至关重要的角色。它包含了索引时传递的原始JSON文档体。了解和掌握_source字段的工作原理对于优化查询性能、提高数据检索效率至关重要。 #### 二、_source字段...
文章目录简介示例注意事项 ...#给example索引添加字段映射,默认docs类型 PUT example/docs/_mapping { properties: { id:{ type:long }, name:{ type:keyword }, age:{ type:integer },
在Elasticsearch中,添加索引是数据存储和检索的基础操作。索引是Elasticsearch中的一个重要概念,它类似于传统数据库中的表。本篇将详细解释如何为Elasticsearch创建索引,以及索引文件中各项设置的意义。 首先,...
5. **动态映射**:Elasticsearch支持动态字段映射,意味着可以自动识别新添加字段的数据类型,无需预先定义。 6. **多租户**:一个Elasticsearch实例可以支持多个索引,每个索引有自己的设置和映射,实现资源隔离。...
8. **弹性伸缩**: 由于Elasticsearch天生支持分布式,因此当数据量或访问量增加时,可以通过添加更多节点来横向扩展系统。 这个.NET Core封装库可能已经对这些基本操作进行了简化,提供了更符合.NET开发者习惯的API...
7. **映射(Mapping)**:映射是Elasticsearch中的字段配置,定义了字段的数据类型、分析器等,影响着数据的索引和搜索行为。 8. **搜索性能**:Elasticsearch利用倒排索引技术,提供快速的全文检索。同时,通过...
1. **添加依赖**:在SpringBoot项目的pom.xml文件中,引入Elasticsearch的Spring Data Elasticsearch依赖。确保版本与Elasticsearch服务器版本匹配。 ```xml <groupId>org.springframework.boot <artifactId>...
通过添加依赖,可以轻松创建 Elasticsearch 的客户端,实现索引的创建、文档的增删改查以及复杂的查询操作。Spring Data 提供的注解使得操作 Elasticsearch 如同操作数据库一样简单,提高了开发效率。 **搜索引擎的...
Elasticsearch(简称ES)是一款基于Lucene的分布式、RESTful搜索引擎,广泛应用于日志收集、数据分析等领域,是ELK(Elasticsearch、Logstash、Kibana)堆栈的重要组成部分。在处理中文数据时,合理的分词对于提升...
如果我们只想在特定字段上执行模糊查询,可以使用`@Query`注解配合Elasticsearch的查询语法。例如,定义一个方法`@Query("{\"match\":{\"fieldName\":\"?0\"}}") List<MyEntity> findByFixedField(String value)`,...
Elasticsearch(简称 ES)是一种基于 Lucene 的开源全文搜索引擎,被广泛应用于大数据分析、日志收集、实时搜索等领域。它的设计目标是分布式、可扩展、高可用且易用,支持RESTful API,使得与ES交互变得简单。 **...
2. **配置环境变量**:将Elasticsearch的bin目录添加到PATH环境变量中,以便于执行命令。 3. **修改配置文件**:主要修改`elasticsearch.yml`,包括设置节点名称、集群名称、数据路径、内存分配等。 4. **启动服务...
这通常涉及创建Elasticsearch的索引、类型,并将日志条目作为文档进行添加。库中的API可能会提供一个方法,例如`AddDocument`,接受日志对象并处理向Elasticsearch的发送工作,确保日志数据被正确格式化和发送。 ...
关联查询在Elasticsearch中可以通过嵌套文档、父子文档或者多字段查询等方式实现。这些查询方式可以帮助我们处理复杂的数据关系,比如在一个文档中查找与之关联的其他文档。 文件名为"esutil"的类可能包含了上述...
在日志收集和分析领域,Elasticsearch(简称ES)是广泛应用的搜索引擎和数据分析工具,它与Logstash(数据采集)、Kibana(数据可视化)共同构成了ELK(Elasticsearch、Logstash、Kibana)栈。对于中文处理,分词器...
Elasticsearch是一个强大的分布式搜索引擎,广泛应用于大数据分析和实时数据检索。在Java环境中,与Elasticsearch进行交互通常会使用官方提供的Java REST客户端。本文将详细介绍如何构建一个封装了基本增删改查功能...
-- 添加字段需要的JAR --> <!-- https://mvnrepository.com/artifact/org.elasticsearch.client/transport --> <groupId>org.elasticsearch.client <artifactId>transport <version>5.4.2 <!--...
在 SpringBoot 应用中集成 Elasticsearch,需要添加相应依赖,并配置 Elasticsearch 的连接信息。Spring Data Elasticsearch 提供了易于使用的 API 和 Repository 模式,简化了数据操作。 **6. Kibana 与可视化** ...