java 查es
1.1依赖
<dependency> <groupId>org.elasticsearch.client</groupId> <artifactId>elasticsearch-rest-high-level-client</artifactId> <version>6.8.5</version> </dependency>
1.2代码
import org.apache.http.HttpHost; import org.elasticsearch.action.search.SearchRequest; import org.elasticsearch.action.search.SearchResponse; import org.elasticsearch.client.RequestOptions; import org.elasticsearch.client.RestClient; import org.elasticsearch.client.RestHighLevelClient; import org.elasticsearch.index.query.BoolQueryBuilder; import org.elasticsearch.index.query.IdsQueryBuilder; import org.elasticsearch.index.query.QueryBuilders; import org.elasticsearch.search.SearchHit; import org.elasticsearch.search.SearchHits; import org.elasticsearch.search.builder.SearchSourceBuilder; import java.io.IOException; public class RestClientTest { public static void main(String[] args) throws IOException { HttpHost httpHost = new HttpHost("localhost",9200); RestHighLevelClient restHighLevelClient = new RestHighLevelClient(RestClient.builder(httpHost)); BoolQueryBuilder boolQueryBuilder = QueryBuilders.boolQuery(); IdsQueryBuilder idsQueryBuilder = QueryBuilders.idsQuery().addIds("com.fa.qq"); boolQueryBuilder.must(idsQueryBuilder); SearchSourceBuilder searchSourceBuilder = new SearchSourceBuilder(); searchSourceBuilder.query(boolQueryBuilder); SearchRequest searchRequest = new SearchRequest(); searchRequest.indices("app_list_dim"); searchRequest.source( searchSourceBuilder ); SearchResponse searchResponse = restHighLevelClient.search(searchRequest, RequestOptions.DEFAULT); SearchHits hits = searchResponse.getHits(); for (SearchHit hit : hits) { System.out.println(hit.getSourceAsString()); } } }
2.1依赖
<dependency> <groupId>org.elasticsearch.client</groupId> <artifactId>transport</artifactId> <version>6.2.4</version> </dependency>
2.2代码
import org.elasticsearch.action.get.GetResponse; import org.elasticsearch.action.search.SearchResponse; import org.elasticsearch.client.transport.TransportClient; import org.elasticsearch.common.settings.Settings; import org.elasticsearch.common.transport.TransportAddress; import org.elasticsearch.index.query.MatchAllQueryBuilder; import org.elasticsearch.index.query.QueryBuilders; import org.elasticsearch.index.query.TermQueryBuilder; import org.elasticsearch.search.SearchHit; import org.elasticsearch.transport.client.PreBuiltTransportClient; import java.net.InetAddress; import java.net.UnknownHostException; public class EsClient { public static void main(String[] args) throws UnknownHostException { //指定集群 Settings settings = Settings.builder().put("cluster.name", "elasticsearch").build(); // 创建访问es的客户端,es中,9200是http通讯的端口号,9300 是tcp通讯的端口号 TransportClient client = new PreBuiltTransportClient(settings) .addTransportAddress(new TransportAddress(InetAddress.getByName("127.0.0.1"),9300)); // 数据查询 // GetResponse response = client.prepareGet("lib3", "user", "1").execute().actionGet(); // 查询所有 // MatchAllQueryBuilder query = QueryBuilders.matchAllQuery(); // term 查询 TermQueryBuilder query = QueryBuilders.termQuery("interests", "喜欢喝酒"); SearchResponse response = client.prepareSearch("lib3") .setTypes("user") .setQuery(query) // .setSize(3) .get(); for (SearchHit hit : response.getHits()) { System.out.println(hit.getSourceAsString()); } client.close(); } }
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
· 开发者必知的日志记录最佳实践
· SQL Server 2025 AI相关能力初探
· Linux系列:如何用 C#调用 C方法造成内存泄露
· AI与.NET技术实操系列(二):开始使用ML.NET
· 无需6万激活码!GitHub神秘组织3小时极速复刻Manus,手把手教你使用OpenManus搭建本
· C#/.NET/.NET Core优秀项目和框架2025年2月简报
· Manus爆火,是硬核还是营销?
· 终于写完轮子一部分:tcp代理 了,记录一下
· 【杭电多校比赛记录】2025“钉耙编程”中国大学生算法设计春季联赛(1)