elasticsearch系列-03(elasticsearch与java的整合)
来源:互联网 发布:兰州大学网络教育网址 编辑:程序博客网 时间:2024/06/11 04:26
本文讲述elasticsearch与java项目的整合
1.加入elasticsearch的maven依赖
加入的包一定要与自己的elasticsearch版本保持一致
<dependency> <groupId>org.elasticsearch</groupId> <artifactId>elasticsearch</artifactId> <version>1.7.3</version> </dependency>
2.代码测试
package tv.xxx.util;import org.elasticsearch.action.delete.DeleteResponse;import org.elasticsearch.action.get.GetResponse;import org.elasticsearch.action.index.IndexResponse;import org.elasticsearch.action.search.SearchRequestBuilder;import org.elasticsearch.action.search.SearchResponse;import org.elasticsearch.action.search.SearchType;import org.elasticsearch.client.Client;import org.elasticsearch.client.transport.TransportClient;import org.elasticsearch.common.settings.ImmutableSettings;import org.elasticsearch.common.settings.Settings;import org.elasticsearch.common.transport.InetSocketTransportAddress;import org.elasticsearch.common.xcontent.XContentFactory;import org.elasticsearch.index.query.BoolQueryBuilder;import org.elasticsearch.index.query.QueryBuilders;import org.elasticsearch.index.query.QueryStringQueryBuilder;import java.io.IOException;/** * Created by user on 16/5/27. */public class ElasticsearchTest { /** * 数据添加 * curl -XPOST localhost:9200/video/md/1 -d '{ "tvId":"1001", "name": "武媚娘第一集","order":1}' * curl -XPOST localhost:9200/video/md/2 -d '{ "tvId":"1002", "name": "武媚娘第二集","order":2}' */ static Settings settings = ImmutableSettings.settingsBuilder().put("client.transport.sniff", true).put("cluster.name", "elasticsearch").build(); static Client client = new TransportClient(settings).addTransportAddress(new InetSocketTransportAddress("10.3.0.248", 9300)); public static void main(String [] args)throws IOException{ System.out.println(searchEl()); //deleteEl(); //addEl(); } public static void addEl() throws IOException{ IndexResponse response = client.prepareIndex("video", "md", "4") .setSource( XContentFactory.jsonBuilder() .startObject() .field("tvId", "2002") .field("name", "武大郎第二集") .field("order", 2) .endObject()) .setTTL(8000) .execute().actionGet(); System.out.println(response.getId()); } //查询 //wiki:http://www.boyunjian.com/javadoc/org.elasticsearch/elasticsearch/0.20.0.RC1/_/org/elasticsearch/index/query/QueryBuilder.html public static String searchEl(){ //根据Id获取数据 GetResponse responseGet = client.prepareGet("video","md","1").execute().actionGet(); //return responseGet.getSourceAsString(); SearchRequestBuilder builder = client.prepareSearch("video").setTypes("md").setSearchType(SearchType.DEFAULT).setFrom(0).setSize(100); BoolQueryBuilder qb = QueryBuilders.boolQuery().should(new QueryStringQueryBuilder("武媚娘").field("name")); builder.setQuery(qb); SearchResponse response = builder.execute().actionGet(); System.out.println(" " + response); System.out.println(response.getHits().getTotalHits()); return response+""; } //删除 public static void deleteEl(){ DeleteResponse response = client.prepareDelete("video", "md", "1") .setOperationThreaded(false).execute().actionGet(); System.out.println(response.getId()); }}
done
1 0
- elasticsearch系列-03(elasticsearch与java的整合)
- elasticsearch系列-01(elasticsearch的安装与配置)
- Flume与Elasticsearch整合
- spark与elasticsearch整合
- Sping Data与Elasticsearch整合
- flume-ng 与elasticsearch整合
- Elasticsearch系列(十一)----Spring整合Elasticsearch5.5.1的TransportClient客户端
- elasticsearch系列-elasticsearch教程
- elasticSearch系列-elasticSearch优化
- elasticsearch系列-elasticsearch学习心得
- spark和elasticsearch的整合
- 使用Elasticsearch的java api,操作elasticsearch
- ElasticSearch的Java API
- elasticsearch 依赖的java
- ElasticSearch的Java API
- elasticsearch 的java api
- spark-sql与elasticsearch整合&测试
- spark-sql与elasticsearch整合&测试
- 线程
- Android@Kotlin 在Android studio 中配置Kotlin
- css3 @media媒体查询器用法
- HeadFrist设计模式学习之外观模式
- Spark Sql 总结
- elasticsearch系列-03(elasticsearch与java的整合)
- jsp中的内置对象
- 装了最新版本的Chrome后,总显示“正在等待代理隧道的响应”
- 小希的迷宫(简单并查集)
- Android照片墙完整版,完美结合LruCache和DiskLruCache
- excel2007如何增加控件?
- Sqlite表结构简单分析
- HeadFrist设计模式学习之适配器模式
- 想做一个视频在线直播系统