首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

ElasticSearch Java Api(一) -添加数据创建索引

概要: 1.使用Eclipse搭建Elasticsearch详情参考下面链接 2.Java Elasticsearch 配置 3.ElasticSearch Java Api(一) -添加数据创建索引...---- ---- 转载:http://blog.csdn.net/napoay/article/details/51707023 ElasticSearch JAVA API官网文档:https://...www.elastic.co/guide/en/elasticsearch/client/java-api/current/java-docs-index.html 目录: 一、生成JSON 1.1...手写方式生成 1.2使用集合 1.3使用JACKSON序列化 1.4使用ElasticSearch 帮助类 二、创建索引 三、java实现 一、生成JSON ---- 创建索引的第一步是要把对象转换为JSON...") 8 .endObject() 9 10 String json = builder.string(); 二、创建索引 ---- 下面的例子把json文档写入所以,索引库名为twitter

5K40
您找到你想要的搜索结果了吗?
是的
没有找到

ElasticSearch最全详细使用教程:入门、索引管理、映射详解

导读:本文介绍了ElasticSearch的必备知识:从入门、索引管理到映射详解。 一、快速入门 ---- 1. 查看集群的健康状况 http://localhost:9200/_cat ?...ES的rollover index API 让我们可以根据满足指定的条件(时间、文档数量、索引大小)创建新的索引,并把别名滚动指向新的索引。 注意:这时的别名只能是一个索引的别名。...ES中支持手动定义映射,动态映射两种方式。 1.1. 为索引创建mapping PUT test { "mappings" : { <!...Multi Field 多重字段 当我们需要对一个字段进行多种不同方式的索引时,可以使用fields多重字段定义。...动态映射 动态映射:ES中提供的重要特性,让我们可以快速使用ES,而不需要先创建索引、定义映射

75K47

3.学习Elasticsearch索引映射的概念和使用

概念 索引映射(Index Mapping)是用来定义文档的数据结构和字段类型的过程。它类似于数据库中的表结构定义,为每个字段指定数据类型、分析器和其他属性。...索引映射创建索引时指定,也可以在索引已经存在的情况下进行更新。 目的 索引映射的目的是告诉 Elasticsearch 如何解析和处理文档中的字段数据,以便它能够正确地进行搜索、聚合和排序等操作。...如果不定义映射Elasticsearch 会尝试自动推断字段类型,但这可能会导致意外的结果和不必要的资源浪费。...存储字段可以在检索结果中返回原始值,但会增加索引的存储空间。 动态映射(Dynamic Mapping):允许 Elasticsearch 自动推断未在映射中定义的字段的数据类型。...简单使用 在dev tools执行如下代码将会创建一个索引并设置了静态mapping 创建索引与mapping PUT lglbc_demo { "settings": { "number_of_replicas

18840

ElasticSearch最全详细使用教程:入门、索引管理、映射详解

墨墨导读:本文介绍了ElasticSearch的必备知识:从入门、索引管理到映射详解。 一、快速入门 ---- 1....ES的rollover index API 让我们可以根据满足指定的条件(时间、文档数量、索引大小)创建新的索引,并把别名滚动指向新的索引。 注意:这时的别名只能是一个索引的别名。...ES中支持手动定义映射,动态映射两种方式。 1.1. 为索引创建mapping PUT test { "mappings" : { <!...Multi Field 多重字段 当我们需要对一个字段进行多种不同方式的索引时,可以使用fields多重字段定义。...动态映射 动态映射:ES中提供的重要特性,让我们可以快速使用ES,而不需要先创建索引、定义映射

2.9K21

Elasticsearch Java API 索引的增删改查(二)

Get API Bulk API Using Bulk Processor Multi Get API Bulk API 注意:所有的单文档的CRUD API,index参数只能接受单一的索引库名称,或者是一个指向单一索引库的...我们可以自己提供一个id,或者也使用Index API 为我们自动生成一个。...; import java.util.Date; import java.util.HashMap; import java.util.Map; import org.elasticsearch.action.index.IndexResponse...有两种方式更新索引创建 UpdateRequest,通过client发送; 使用 prepareUpdate() 方法; 使用UpdateRequest UpdateRequest updateRequest...} 使用 Bulk Processor BulkProcessor 提供了一个简单的接口,在给定的大小数量上定时批量自动请求 创建 BulkProcessor实例 首先创建 BulkProcessor

4K10

ElasticSearch2.1的java api批量建索引方法

es里面提供了两种批量建索引的方法: 1,使用 Bulk Api 特点是:使用比较简单,但控制不够灵活 2,使用Bulk Processor 特点是:使用稍麻烦,控制非常灵活...至于为什么要批量建索引,相信大伙已经不陌生了,为的就是提高写入效率,效率,效率!...下面来看下在Java中,具体怎么用: (一)关于Bulk Api用法,这里直接引用es官网的例子了,大伙请直接看截图: ?...(二)使用Bulk Processor处理也比较简单,注意参数的设置,会影响索引的性能: BulkProcessor实例初始化之后,就可以直接 游标读取添加就行: ?...建立索引时,可以关闭索引的副本功能,可以极大提高写入效率,但索引完成时,可以执行如下命令动态,添加副本: Shell代码 curl -XPUT 'localhost:9200/company/_settings

74070

Spring Boot 中使用 Java API 调用 Elasticsearch

特点 支持物理上的水平扩展,并拥有一套分布式协调的管理功能 操作简单 单节点的ES,安装启动后,会默认创建一个名为elasticsearch的es集群。...restful 风格的API 提供了一套关于索引以及状态查看的restful风格接口。至于什么是Restful风格服务,请移步 谈谈到底什么是rest风格架构设计?...这一点也是为什么开发人员更愿意使用ES或者compass这样的框架而不是直接使用Lucene的一个原因。 Shards & Replicas 定义:能够为每个索引提供水平的扩展以及备份操作。...PostConstruct public void init() { client = this.transportClient; } /** * 创建索引...beginPageIndex = pageCount - 10 + 1; } } } } 省略 get set 单元测试 创建索引

6.2K110

大数据技术之_20_Elasticsearch学习_01_概述 + 快速入门 + Java API 操作 + 创建、删除索引 + 新建、搜索、更新删除文档 + 条件查询 + 映射操作

Elasticsearch,基于 lucene,隐藏复杂性,提供简单易用的 restful api 接口、java api 接口(还有其他语言的 api 接口)。   ...1.7.8 Mapping(映射 --> 约束)   数据如何存放到索引对象上,需要有一个映射配置,包括:数据类型、是否存储、是否分词等。   这样就创建了一个名为 blog 的 Index。...3.1 API 基本操作 3.1.1 操作环境准备 1)创建 maven 工程(不使用骨架的方式) ?...建立文档对象时,如果索引不存在的,默认会自动创建映射采用默认方式 。...建立文档对象时,如果索引不存在的,默认会自动创建映射采用默认方式。

2.1K22

ElasticSearch最全详细使用教程:入门、索引管理、映射详解、索引别名、分词器、文档管理、路由、搜索详解

墨墨导读:之前我们分享了ElasticSearch最全详细使用教程:入门、索引管理、映射详解,本文详细介绍ElasticSearch索引别名、分词器、文档管理、路由、搜索详解。...创建别名 /_aliases 为索引test1创建别名alias1 POST /_aliases { "actions" : [ { "add...批量操作 批量操作API /_bulk 让我们可以在一次调用中执行多个索引、删除操作。这可以大大提高索引数据的速度。...pretty&refresh" --data-binary "@accounts.json" 9. reindex 重索引 Reindex API /_reindex 让我们可以将一个索引中的数据重索引到另一个索引中...在集群中创建索引的流程 ? 3. 有索引的集群 ? 4. 集群有节点出现故障,如主节点挂了,会重新选择主节点 ? 5. 在集群中索引文档 ?

3.5K30

java使用jest连接操作Elasticsearch2.2.0中的索引

前言 在了解jest框架前,楼主一直尝试用官方的Elasticsearch java api连接es服务的,可是,不知何故,一直报如下的异常信息,谷歌了很久,都说是jvm版本不一致导致的问题,可我是本地测试的...: Failed to deserialize exception response from stream 我的测试代码是参考官方api实例的,官方api地址:Elasticsearch java...工具集,功能强大,能够使用es java api的查询语句,项目是开源的,github地址:https://github.com/searchbox-io/Jest 我的测试用例 分词器:ik,...如果你安装ik分词插件有问题,请点击右上角的qq联系博主 新建索引 curl -XPUT http://localhost:9200/indexdata 创建索引的mapping,指定分词器...Index.Builder(k).index("indexdata").type("fulltext").id(k.getArcid()+"").build(); System.out.println("添加索引

13520

ElasticSearch排序引起的all shards failed异常原因分析

方法1:添加索引模板 首先,由于是没有timestamp这个mapping信息,因此我想到创建索引模板,将.alert这个索引的mappings信息用模板来设置,以便在索引创建的时候就有相应的mapping...方法2:创建索引时添加mapping 由于ElasticSearch允许在创建索引时就创建mapping信息,于是我想到了这个方法,经过测试后,可以解决all shards failed的问题。...但是,产生了一个严重的后果,我们用.alert索引来记录服务器报警信息,当我往.alert这个索引里添加数据时,只有timestamp这个字段的数据添加进去了,其他数据像产生报警的主机、报警内容等信息添加失败...改变已有的mapping就意味着使已经存在的索引数据无效,解决的办法就是使用正确的mappings信息来创建新的索引,然后重新把数据添加到新索引中。...方法3:给排序条件加unmapped_type ElasticSearch的search api可以设置排序时忽略字段的哪些映射。默认情况下,如果没有与排序字段关联的映射,则搜索请求将失败

5.6K41

Elasticsearch Document Index API详解、原理与示例

5.2 自动创建索引 使用Index API,如果索引不存在,则会自动创建对应的索引(类型映射类型为动态映射机制,具体关于字段映射,将会在Mapping章节中详细介绍)。...Elasticsearch数据的组织形式为(index/type/document)。索引的管理(增删改查等API在后续文中会描述)。 自动索引创建可以通过配置来禁用。...通过配置index.mapper.dynamic=false可以禁用索引映射自动创建。...即使使用来自数据库的数据来更新Elasticsearch索引的简单情况,如果使用外部版本控制,也会简化,因为如果索引操作出于某种原因而不正常,则只使用最新的版本即可。...当设置显式映射(Mapping)时,可以选择使用路由字段来指导索引操作从文档本身提取路由值。如果路由映射被定义并设置为required,那么如果没有提供或提取路由值,则索引操作将失败

2.7K10

ES 创建索引使用Dynamic Mapping动态映射 对字符串字段生成keyword字段

Text vs. keyword Text:会分词,然后进行索引 支持模糊、精确查询 不支持聚合 keyword:不进行分词,直接索引 支持模糊、精确查询...支持聚合 2.当你没有以IndexTemplate等形式为你的索引字段预先指定mapping的话,ES就会使用Dynamic Mapping,通过推断你传入的文档中字段的值对字段进行动态映射。...例如传入的文档中字段price的值为12,那么price将被映射为long类型;字段addr的值为"192.168.0.1",那么addr将被映射为ip类型。...然而对于不满足ip和date格式的普通字符串来说,情况有些不同:ES会将它们映射为text类型,但为了保留对这些字段做精确查询以及聚合的能力,又同时对它们做了keyword类型的映射,作为该字段的fields...此时,必须使用foobar.keyword来对foobar字段以keyword类型进行精确匹配。

3.6K20
领券