java连接elasticsearch:查询、添加数据
导入jar包
<!-- https://mvnrepository.com/artifact/org.elasticsearch.client/transport -->
<dependency>
<groupId>org.elasticsearch.client</groupId>
<artifactId>transport</artifactId>
</dependency>
初始化TransportClient对象
/**
* 初始化TransportClient对象, 这里只配置了单个节点,例如100.100.0.1:8090
*/
private TransportClient initClient() throws UnknownHostException {
String node = esSetting.getClusterNodes();
int index = node.indexOf(":");
String host = node.substring(0, index);
int port = Integer.valueOf(node.substring(index + 1)); Settings settings = Settings.builder()
//elasticsearch节点名称
.put("cluster.name", esSetting.getClusterName())
.put("client.transport.sniff", true).build(); InetAddress address = InetAddress.getByName(host);
TransportClient client = new PreBuiltTransportClient(settings);
client.addTransportAddress(new InetSocketTransportAddress(address, port)); return client;
}
查询:
//查询,根据数据中date字段查询, 这里是最常用的boolQuery示例,可以通过must、must_not、filter等方法设定查询条件
QueryBuilder queryBuilder = QueryBuilders.boolQuery()
.must(QueryBuilders.rangeQuery("date").gte("2018-11-08T00:00:00.000Z")
.lt("2018-11-09T00:00:00.000Z")); //elasticsearch索引及类型,对应数据库中数据库和表
String index = "index";
String type = "type";
SearchResponse response = client.prepareSearch(index)
.setTypes(type).addSort("date", SortOrder.ASC)
.setSize(1000).setQuery(queryBuilder).execute()
.actionGet(); long total = response.getHits().getTotalHits();
写入:
try {
XContentBuilder builder = XContentFactory.jsonBuilder()
.startObject().field("date", "2018-11-08T00:00:00.000Z")
.field("cost", 10);
builder.endObject();
IndexResponse response = client
.prepareIndex(index, type)
.setSource(builder).get();
} catch (Exception e) {
e.printStackTrace();
}
java连接elasticsearch:查询、添加数据的更多相关文章
- JAVA连接MYSQL,查询 ,添加,删除,语句
package com; import Java.sql.*;/** *//** * @author Administrator */public class ggg { private ...
- [搜索]ElasticSearch Java Api(一) -添加数据创建索引
转载:http://blog.csdn.net/napoay/article/details/51707023 ElasticSearch JAVA API官网文档:https://www.elast ...
- Eclipse中java向数据库中添加数据,更新数据,删除数据
前面详细写过如何连接数据库的具体操作,下面介绍向数据库中添加数据. 注意事项:如果参考下面代码,需要 改包名,数据库名,数据库账号,密码,和数据表(数据表里面的信息) package com.ning ...
- java连接MongoDB查询导出为excel表格
背景 因为项目需求.每一个星期须要统计每一个公众号7天的訪问数,月底就须要统计一个月的訪问数,40多个公众号.每次手动统计都须要花费1个小时,总之是一项无技术耗时耗神的手工活. 于是.想写个程序来统计 ...
- java连接redis中的数据查、增、改、删操作的方法
package com.lml.redis; import java.util.HashMap;import java.util.Iterator;import java.util.Map;impor ...
- java调用scala 查询hbase数据
问题:将scala打成jar包,提供给java调用,但是java一直提示找不到类 实现功能:利用spark查询hbase数据,然后提供给外部接口调用 我的方式:spark查询Hbase用scala实现 ...
- java向文件中添加数据---手动版日志添加
核心代码为创建多级文件夹创建 //目标文件 File file=new File(filePath); //若不存在即创建文件 if(!file.exists()) { if (!file.getPa ...
- elasticsearch查询所有数据restful api以及java代码实现
原文:http://blog.java1234.com/blog/articles/366.html restful api实现如下: get http://192.168.1.111:9200/fi ...
- python连接 elasticsearch 查询数据,支持分页
使用python连接es并执行最基本的查询 from elasticsearch import Elasticsearch es = Elasticsearch(["localhost:92 ...
随机推荐
- Java练习 SDUT-2761_编码
编码 Time Limit: 1000 ms Memory Limit: 65536 KiB Problem Description 给你一个由大写字母组成的组成的字符串,你可以用如下规则对其进行编码 ...
- tf.cast用法
tf.cast:用于改变某个张量的数据类型 例如: import tensorflow as tf;import numpy as np; A = tf.convert_to_tensor(np.ar ...
- 待性能改善的一个SQL
select t.*, t.rowid from tb_tk_datasakusei_ctrl t; alter table ATOMBB.TB_TK_JISSEKI_INFO_DETAIL add ...
- Notepad++颜色配置
目前看着比较顺眼的notepad++配置,记录如下:
- phpstorm2017破解版 2017.3.4 官网中文版
phpstorm2017破解版是一款强大的PHP编程工具,新云软件园提供phpstorm激活下载,最新版PhpStorm 2017正式版改进了PHP 7支持,改进代码完成功能,PhpStorm 是最好 ...
- Android Studio(十一):代码混淆及打包apk
Android Studio相关博客: Android Studio(一):介绍.安装.配置 Android Studio(二):快捷键设置.插件安装 Android Studio(三):设置Andr ...
- 开源CMS比较
PHP-CMS的发展方向:简单,易用,美观 http://www.php-cms.cn/ 看点1,服务器一键安装,鼠标点点就搞定:输入数据库参数,在服务器上点一个按钮就完成全部的安装.简单配置一下网 ...
- Element-ui学习笔记3--Form表单(二)
Input输入框 Input 为受控组件,它总会显示 Vue 绑定值. 通常情况下,应当处理 input 事件,并更新组件的绑定值(或使用v-model).否则,输入框内显示的值将不会改变. 不支持 ...
- python 动态生成变量名以及动态获取变量的变量名
前言需求: 必须现在需要动态创建16个list,每个list的名字不一样,但是是有规律可循,比如第一个list的名字叫: arriage_list_0=[],第二个叫arriage_list_1=[] ...
- H3C MP-Group方式配置PPP MP