本文主要向大家介绍了Oracle数据库之java 从Oracle数据库到处数据到Elasticsearch全文检索库进行全文查询,通过具体的内容向大家展现,希望对大家学习Oracle数据库有所帮助。

首先编写代码前,要先把Elasticsearch环境搭建好(这个很简单,网上百度一大堆)。然后将elasticsearch jar包导入工程当中。

之后开始编码工作:

第一步:编写连接本地Elasticsearch环境的代码

public static Client client=null;

public static Client getClient(){

if(client !=null){

return client;

}

Settings settings = Settings.settingsBuilder().put("cluster.name","my-application").build();

try{

client = TransportClient.builder().settings(settings).build()

.addTransportAddress(new InetSocketTransportAddress(InetAddress.getByName(null),9300));//如果是Null,则默认连接本地Ip

}catch(UnknownHostException e){

e.printStackTrace();

}

return client;

}

第二步,建立索引库和创建索引

public void createIndexResponse(String indexname, String type, Listjsondata){

//创建索引库 需要注意的是.setRefresh(true)这里一定要设置,否则第一次建立索引查找不到数据

IndexRequestBuilder requestBuilder = getClient().prepareIndex(indexname, type).setRefresh(true);

for(int i=0; i

requestBuilder.setSource(jsondata.get(i)).execute().actionGet();

}

}

/**

* 创建索引

* @param client

* @param jsondata

* @return

*/

public IndexResponse createIndexResponse(String indexname, String type,String jsondata){

IndexResponse response = getClient().prepareIndex(indexname, type)

.setSource(jsondata)

.execute()

.actionGet();

return response;

}

/**

* 执行搜索

* @param queryBuilder

* @param indexname

* @param type

* @return

*/

public Listsearcher(QueryBuilder queryBuilder, String indexname, String type){

Listlist = new ArrayList();//EsBean是数据库的字段

SearchResponse searchResponse = getClient().prepareSearch(indexname).setTypes(type)

.setQuery(queryBuilder)

.execute()

.actionGet();

SearchHits hits = searchResponse.getHits();

System.out.println("查询到记录数=" + hits.getTotalHits());

SearchHit[] searchHists = hits.getHits();

if(searchHists.length>0){

for(SearchHit hit:searchHists){

Integer id = (Integer)hit.getSource().get("id");

String name =  (String) hit.getSource().get("name");

String function =  (String) hit.getSource().get("funciton");

list.add(new EsBean(id, name, function));

}

}

return list;

}

第三步,写入实体类Esbean

public class Esbean{

private String reg_id;

private String organization;

省略setter和getter方法;

public EsBean(String reg_id,String organization){

super();

this.reg_id=reg_id;

this.organization=organization;

}

}

第四步,从oracle数据库中查询出数据导入到Esalticsearch库中

1 public class jdbc{

2       public  static jdbc dataFactory = new jdbc();

3       private static Connection conn;

4       static final String username="****";

5       static final String password="*****";

6       static final String url="***********";

7       public static synchronized Connection getInstance(){

8                 if(conn=null || conn.isClosed()){

9                       class.forName("oracle.jdbc.driver.OracleDriver");

10                    conn=DriverManager.getConnection(url,username,password);

11               }

12               return conn;

13            }

14 }

本文由职坐标整理并发布,希望对同学们学习Oracle有所帮助,更多内容请关注职坐标数据库Oracle数据库频道!

java查询oracle数据库_Oracle数据库之java 从Oracle数据库到处数据到Elasticsearch全文检索库进行全文查询...相关推荐

  1. oracle 一个实例创建多个数据库_oracle 一个实例创建多个数据库

    {"moduleinfo":{"card_count":[{"count_phone":1,"count":1}],&q ...

  2. 12c创建为容器数据库_oracle 12c创建可插拔数据库(PDB)与用户详解

    前言 由于oracle 12c使用了CDB-PDB架构,类似于docker,在container-db内可以加载多个pluggable-db,因此安装后需要额外配置才能使用. 一.修改listener ...

  3. 查询手机号段对应地区编码_想知道海关统计数据吗?这里有详细的查询教程

    海关统计数据在线查询系统优化升级了,系统更好用啦! 打开方式 1.进入海关总署官网www.customs.gov.cn,点击导航栏中的"信息公开". 2.点击左侧导航栏中的&quo ...

  4. SQL Server数据表中数据的增加(插入)、查询、修改、删除

    目录 零.码仙励志 一.数据表中数据的增加(插入) 二.数据表中数据的查询 三.数据表中数据的修改 四.数据表中数据的删除 零.码仙励志 伟人所达到并保持着的高处,并不是一飞就到的,而是他们在同伴们都 ...

  5. oracle时间类型转化成java对象_Oracle数据库date类型与Java中Date的联系与转化

    以下是对Java中的日期对象与Oracle中的日期之间的区别与联系做点说明,以期对大家有所帮助. new Date():分配 Date 对象并初始化此对象,以表示分配它的时间(精确到毫秒),就是系统当 ...

  6. oracle 调用java 类_oracle数据库PL SQL调用Java类程序代码

    作为JAVA程序员,对ORACLE的javasource一直是想找个机会下手的.呵呵!风高月夜,此时正下手之机. Oracle有提供一个叫"外部例程"来实现与其他编程语言的访问.例 ...

  7. 双表查询java代码_什么是JDBC?Java数据库连接性简介

    JDBC(Java数据库连接性)是Java API,用于管理与数据库的连接,发出查询和命令以及处理从数据库获得的结果集.JDBC在1997年作为JDK 1.1的一部分发布,是为Java持久层开发的首批 ...

  8. jsch连接mysql_求用jsch网络工具包通过ssh连接远程oracle数据库并发送sql操作语句(数据库在unix上)java代码例子...

    求用jsch网络工具包通过ssh连接远程oracle数据库(数据库在unix上)java代码例子:为何jsch发送:sqlplususer/pwd@service此命令,却没有结果返回啊.下面是代码: ...

  9. java 对应sql驱动版本_关于Oracle JDBC驱动版本、JDK版本、数据库版本对应关系(相关的报错:ORA-28040)...

    关于Oracle JDBC驱动版本.JDK版本.数据库版本对应关系 说明: 1.Oracle JDBC驱动版本查看方式(Oracle JDBC驱动程序随Oracle数据库服务器一起提供)(用户:Ora ...

最新文章

  1. 分享9个提高代码运行效率的小技巧
  2. halcon知识:共生矩阵
  3. Angularjs 中的 controller
  4. android 数据库 字节数组,Android上的GreenDAO:字节数组作为主键/构建包含字节数组属性Where子句的查询...
  5. 终于开源!基于Overlap的激光雷达全局定位算法!
  6. 从小白到大数据技术专家的学习历程,你准备好了吗
  7. (229)DPU加速数据处理
  8. Linux内核深入理解中断和异常(7):中断下半部:Softirq, Tasklets and Workqueues
  9. iplat-ui源码解读
  10. 【HDOJ】3459 Rubik 2×2×2
  11. vs2017+pcl1.8.1配置
  12. 白话区块链 之3: 区块链技术栈
  13. 微信指纹锁原理及安全性分析
  14. java一个字符几个字节_Java 语言中一个字符占几个字节?
  15. Windows 命令行基础
  16. SylixOS 技术简介
  17. CreateJS 学习4 动画、TweenJS
  18. 奶粉的全球与中国市场2022-2028年:技术、参与者、趋势、市场规模及占有率研究报告
  19. pda通用扫描app_智能仓储盘点——PDA扫码盘点APP真正实现“轻松盘点”!
  20. 坚持并活下去!cxuan 在 CSDN 的 2020 年终总结。

热门文章

  1. python unicode编码转换中文_Python入门高级教程--Python 中文编码
  2. php解决01背包问题,PHP动态规划解决0-1背包问题实例分析_PHP教程
  3. html简单网页代码 案例_HTML+CSS静态网页练习案例(转动的八卦图)
  4. AcWing 4. 多重背包问题(多重背包 朴素版)
  5. linux 安装org2pg_Ora2Pg的安装和使用
  6. Eviews 9.0新版本新功能——预测(Auto-ARIMA预测、VAR预测)
  7. linux常用shell命令之文件操作命令
  8. 更开放的分布式事务 | Fescar 品牌升级,更名为 Seata
  9. 自动化设计-框架介绍 TestCase
  10. docker运行storm及wordcount实例