elasticsearch Terms Query 实现类似于sql in查询
pom.xml:
<dependency> <groupId>org.elasticsearch.client</groupId> <artifactId>transport</artifactId> <version>6.1.0</version> </dependency>
代码:
import com.alibaba.fastjson.JSON; import org.apache.poi.hssf.usermodel.HSSFRow; import org.apache.poi.hssf.usermodel.HSSFSheet; import org.apache.poi.hssf.usermodel.HSSFWorkbook; 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.BoolQueryBuilder; import org.elasticsearch.index.query.QueryBuilders; import org.elasticsearch.search.SearchHit; import org.elasticsearch.transport.client.PreBuiltTransportClient; import java.io.FileNotFoundException; import java.io.FileOutputStream; import java.io.IOException; import java.net.InetAddress; import java.util.HashSet; import java.util.Set; public class EsToHdfs { public static void main(String[] args) throws Exception { Settings settings = Settings.builder().put("cluster.name", "NEIMENG_ES").build(); TransportClient client = new PreBuiltTransportClient(settings) .addTransportAddress(new TransportAddress(InetAddress.getByName("192.168.26.82"), 9301)) .addTransportAddress(new TransportAddress(InetAddress.getByName("192.168.26.83"), 9301)); Set set = new HashSet<String>();set.add("50338118"); set.add("67108867"); set.add("67109804"); set.add("67112880"); set.add("67112989"); BoolQueryBuilder boolQuery = QueryBuilders.boolQuery(); boolQuery.must(QueryBuilders.termsQuery("x_imsi", set)); SearchResponse response = client.prepareSearch("neimeng_vpn_202001191559").setTypes("doc").setQuery(boolQuery) .setSize(10000).execute().actionGet(); for (SearchHit hit : response.getHits().getHits()) { System.out.println("x_imsi:" + hit.getSourceAsMap().get("x_imsi") + ", x_sip:" + hit.getSourceAsMap().get("x_sip") + ", seraddr_s:" + hit.getSourceAsMap().get("seraddr_s")); }//on shutdown client.close(); } }
kibana:
{ "query": { "terms": { "x_imsi": [ "50332823" ,"67108867" ,"67109804" ,"67112880" ,"67112989" ] } }, "_source": ["x_imsi","x_sip","seraddr_s"] }
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
· 基于Microsoft.Extensions.AI核心库实现RAG应用
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
· 开发者必知的日志记录最佳实践
· SQL Server 2025 AI相关能力初探
· winform 绘制太阳,地球,月球 运作规律
· AI与.NET技术实操系列(五):向量存储与相似性搜索在 .NET 中的实现
· 超详细:普通电脑也行Windows部署deepseek R1训练数据并当服务器共享给他人
· 【硬核科普】Trae如何「偷看」你的代码?零基础破解AI编程运行原理
· 上周热点回顾(3.3-3.9)