用Java代码在ElasticSearch中索引PDF文件?

以下是我的代码:

            InputStream inputStream = new FileInputStream(new File("mypdf.pdf"));try {byte[]  fileByteStream = IOUtils.toByteArray(inputStream );String base64String = new String(Base64.getEncoder().encodeToString(fileByteStream).getBytes(),"UTF-8");String strEncoded = Base64.getEncoder().encodeToString( base64String.getBytes( "utf-8" ));this.stream.close();JSONObject correspondenceNode = new JSONObject(); correspondenceNode.put("data",strEncoded );String strSsonValues = correspondenceNode.toString();HttpEntity entity = new NStringEntity(strSsonValues , ContentType.APPLICATION_JSON);elasticrestClient.put("/2018/documents/"1, entity);} catch (IOException e) {e.printStackTrace();}

以下是解码代码:

String responseBody = elasticrestClient.get("/2018/documents/1");
//some code to fetch the hits
JSONObject h = hitsArray.getJSONObject(0);
source = h.getJSONObject("_source");
String object = (source.getString("data"));
byte[] decodedStr = Base64.getDecoder().decode( object );FileOutputStream fos = new FileOutputStream("download.pdf");
fos.write(Base64.getDecoder().decode(new String( decodedStr, "utf-8" )));
fos.close();

用户回答回答于 2018-08-02

提取文本和元数据,并将该URL指向二进制文件本身。

{"content": "Extracted text here","meta": {// Meta data there},"url": "file://path/to/file"
}

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/576591.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

美国影视演员协会选择了Windows Azure

娱乐行业的主要组织之一的美国影视演员协会(SAG)最近因云计算的需要选择Windows Azure解决方案。美国影视演员协会将他们的网站从基于Linux的服务器迁移到支持他们的最大年度事件——美国演员工会奖的Windows Azure上。 每年的年度颁奖典礼的到来标志着一…

最优化学习笔记(十)——对偶线性规划

一、对偶问题 每个线性规划问题都有一个与之对应的对偶问题。对偶问题是以原问题的约束条件和目标函数为基础构造而来的。对偶问题也是一个线性规划问题,因此可以采用单纯形法(有关单纯形法会在以后的笔记中补充)求解。对偶问题的最优解也可以…

elasticsearch基本查询二(英文分词)term和terms查询

term和terms查询(查找zhaoliu这个人的信息) term query会去倒排索弓|中寻找确切的term,它并不知道分词器的存在。这种查询适合keyword、numeric. date. term:查询某个字段里含有某个关键词的文档 GET /lib3/user/_search/ { "query":{ "term": {interests&…

Iphone开发之音频101(part 2):转换和录音

iPhone开发之音频101(Part 2):转换和录音 译者:大侠自来也 免责申明(必读!):本博客提供的所有教程的翻译原稿均来自于互联网,仅供学习交流之用,切勿进行商业传播。同时,转…

机器学习笔记(十三)——隐马尔科夫模型

一、隐马尔科夫模型 在马尔科夫模型中,每一个状态代表了一个可以观察的事件,所以,马尔科夫模型有时称为可视马尔科夫模型(visible Markov model,VMM),这在某种程度上限制了模型的适应性。在隐马…

elasticsearch基本查询三(英文分词)match查询

#match查询 #match query知道分词器的存在,会对filed进行分词操作, 然后再查询 GET /ib3/user/_search { "query":{ "match":{ "name": "zhaoliu" }} } GET /lib3/user/_search { "query":{ "match"…

solr 3.5 配置及应用(二)

在 solr 3.5 配置及应用(一) 讲过一了 solr 3.5的详细配置,本节我们讲利用solr 的客户端调用solr的应用了! 一、利用SolrJ操作solr API 使用SolrJ操作Solr会比利用httpClient来操作Solr要简单。SolrJ是封装了httpClient方法,来操作solr的API的…

elasticsearch控制返回字段查询三(英文分词)match查询

#_source指定查询返回的字段信息 #_source指定查询返回的字段信息 GET /lib3/user/_search {"from":0, "size": 2, "_source": ["address" , "name"] ,"query": {"match": {"interests": &…

通过日志恢复MSSQL数据例子

这段时间看了关于在SQL server 中通过日志和时间点来恢复数据。也看了一些网上的例子,看如何通过日志来恢复数据。 前提条件: 数据库的故障恢复改为非简单模式,去掉自动关闭和自动收缩两个选项 如果是简单模式: 类似下面的语…

最优化学习笔记(十一)——对偶问题的例子

某线性规划问题为: mincTxst.Ax≤b\min \boldsymbol{c}^T\boldsymbol{x} \\ st. \boldsymbol{Ax} \le \boldsymbol{b}这个例子和上节中的表2非对称形式的对偶关系比较接近,将上式改写为: maxxT(−c)st.xTAT≤bT\max \boldsymbol{x^T(-c)}\\ …

ElasticSearch查询返回信息根据字段排序(英文检索)

根据年龄降序排序 #排序 GET /lib3/user/_search {"query": {"match_all": {}},"sort":[{"age": {"order" :"desc"}}] } {"took" : 1,"timed_out" : false,"_shards" : {"t…

机器学习笔记(十四)——HMM估计问题和前向后向算法

一、隐马尔科夫链的第一个基本问题 估计问题:给定一个观察序列OO1O2…OT和模型u(A,B,π),如何快速地计算出给定模型u情况下,观察序列O的概率, 即P(O|u)? 二、求解观察序列的概率 其实,求解这个问题就是一个解码问题。 对于任意的状态序列Q…

windows中架设基于Apache的svn服务器

1.安装apache及svn的windows版我安装的版本是:httpd-2.2.22-win32-x86-openssl-0.9.8t.msi 和svn-win32-1.5.0.zipsvn是解压就可以了2. 解svn安装目录下\bin下的mod_authz_svn.so、mod_dav_svn.so拷贝到apache/modules下3.将 svn安装目录下\bin下的libdb44.dll拷贝到apache/bin…

ElasticSearch通配符 * 查询(英文检索)

#如果你要查询的字段信息记得不太清楚, 我们也可以使用通配符 * GET /lib3/user/_search {"from":0, "size": 2,"_source": {"includes": "addr*","excludes": ["name" , "bir*"]},"…

sqlserver agent不能启动

我启动了 event log 服务 ,就好了,不知什么原因转载于:https://www.cnblogs.com/laogao/archive/2012/03/11/2390794.html

机器学习笔记(十五)——HMM序列问题和维特比算法

一、引言 这篇blog主要讲序列问题和其解法——维特比算法。 二、HMM中的第二个基本问题 序列问题:给定一个观察序列OO1O2…OT和模型u(A,B,π),如何快速有效地选择在一定意义下”最优”的状态序列Qq1q2…qT,使得该状态序列“最好地解释”观察序列&#…

ElasticSearch范围查询(英文检索)

#根据日期范围查询 #范围查询 GET /lib3/user/_search {"query": {"range": {"birthday": {"from": "1990-10-10","to": "2020-03-15"}}} }{"took" : 24,"timed_out" : false,&qu…

(转)CDN是如何工作的?

转载自:CDN是如何工作的? CDN是互联网中使用较频繁的一种技术。你也许常听人说:“我们的网站使用了CDN技术”,但可能他们对CDN的了解并不多,也许只局限于--用了以后网站访问速度会变快。 其实,CDN的原理非常…

ElasticSearch前缀匹配查询(英文检索)

#前缀匹配查询 #前缀匹配查询 GET /lib3/user/_search {"query": {"match_phrase_prefix": {"name":{"query":"zhao"}}} }{"took" : 59,"timed_out" : false,"_shards" : {"total&quo…

机器学习笔记(十六)——EM算法概述

一、引言 按照计划,这周应该学习HMM中的第三个基本问题:参数估计问题,但是其中的内容涉及到了EM算法,所以打算先把EM算法搞定之后再去继续HMM的问题。EM算法的推导过程比较复杂,这节我只给出简述和计算公式&#xff0c…