springboot elasticsearch 简单测试类

package com.rayclear;

import org.elasticsearch.action.delete.DeleteResponse;
import org.elasticsearch.action.index.IndexResponse;
import org.elasticsearch.client.Client;
import org.elasticsearch.common.xcontent.XContentType;
import org.elasticsearch.index.query.QueryBuilder;
import org.elasticsearch.index.query.QueryBuilders;
import org.elasticsearch.search.SearchHit;
import org.junit.Test;
import org.junit.runner.RunWith;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.boot.test.context.SpringBootTest;
import org.springframework.test.context.junit4.SpringRunner;

import com.rayclear.domain.Users;

import net.sf.json.JSONObject;

@RunWith(SpringRunner.class)
@SpringBootTest
public class ApplicationTests2 {

@Autowired
private Client client; // es 客户端

@Test
public void add() {
Users u = new Users();
u.setNickname("测试周三三");
u.setId(888888);
JSONObject json = JSONObject.fromObject(u);
IndexResponse response = client.prepareIndex("users", "user" , u.getId().toString())
.setSource(json.toString(), XContentType.JSON)
.get();
String id = response.getId();
System.out.println(response);
System.out.println(id);
}

@Test
public void find() {
// 全部查询
// Users u = new Users();
// u.setNickname("测试周三三");
// SearchHit[] hits = client.prepareSearch("users").get().getHits().getHits();
// for (SearchHit searchHit : hits) {
// JSONObject json = JSONObject.fromObject(searchHit.getSource());
// Users user = (Users) json.toBean(json, Users.class);
// System.out.println(user.getNickname());
// }


// 条件查询
//范围查询 其它查询文档里去找吧
// QueryBuilder rangeQueryBuilder = QueryBuilders.rangeQuery("id").gt(50);
// 多条件组合查询
// QueryBuilder query1 = QueryBuilders.multiMatchQuery(k, "uid", "nickname", "displayname", "description", "information")
  //                      .type(MultiMatchQueryBuilder.Type.PHRASE);

    //          QueryBuilder query2 = QueryBuilders.boolQuery().must(query1)
    //              .filter(QueryBuilders.rangeQuery("user_level").gt(1))
                        //.filter(QueryBuilders.rangeQuery("activities_count").gt(0));

  //              SearchHit[] hits = client.prepareSearch("users").setTypes("user")
    //                    .setQuery(query2).addSort("fans_count", SortOrder.DESC)
   //                     .setSize(30).get().getHits().getHits();

// List<Integer> list_ids = new ArrayList<>();
// for (SearchHit searchHit : hits) {
//  list_ids.add(Integer.parseInt(searchHit.getId()));
// }


QueryBuilder builder = QueryBuilders.matchQuery("nickname", "周三");
SearchHit[] hits = client.prepareSearch("users").setTypes("user").setQuery(builder).setSize(10).execute().actionGet().getHits().getHits();
for (SearchHit searchHit : hits) {
System.out.println(searchHit.getType());
System.out.println(searchHit.getId());
System.out.println(searchHit.getIndex());
JSONObject json = JSONObject.fromObject(searchHit.getSource());
Users user = (Users) JSONObject.toBean(json, Users.class);
System.out.println(user.getNickname());
System.out.println(user.getId());
}

}

@Test
public void delete() {
// 删除
DeleteResponse deleteresponse = client.prepareDelete("users", "user","AV_oTtB4uu_jhSdQ1cct").execute().actionGet();
System.out.println(deleteresponse.getVersion());
}

}

本人整合springboot时发现新版的6.0.0的elastic会报错,找不到节点,后来安装一个5.4.X低版本的就好了
大家注意一下这个问题
基础学习参考http://www.ruanyifeng.com/blog/2017/08/elasticsearch.html
基础中文文档https://www.elastic.co/guide/cn/elasticsearch/guide/current/index.html
官方文档https://www.elastic.co/guide/en/elasticsearch/reference/current/index.html

参考文章https://www.cnblogs.com/zlslch/p/6433438.html https://www.cnblogs.com/wenbronk/p/6432990.html

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值