小编Jam*_*ker的帖子

使用 Apache Tika 从 PDF 中提取图像

Apache Tika 1.6 能够从 PDF 文档中提取内联图像。然而,我一直在努力让它发挥作用。

我的用例是我需要一些代码来从任何文档(不一定是 PDF)中提取内容并单独提取图像。然后,该数据被传递到 Apache UIMA 管道中。

我已经能够使用自定义解析器(基于 AutoParser 构建)从其他文档类型中提取图像,将文档转换为 HTML,然后单独保存图像。但当我尝试使用 PDF 时,标签甚至不会出现在 HTML 中,更不用说让我访问这些文件了。

有人可以建议我如何实现上述目标,最好提供一些如何使用 Tika 1.6 从 PDF 中进行内联图像提取的代码示例吗?

pdf image apache-tika

5
推荐指数
1
解决办法
8699
查看次数

Elasticsearch 分页 - 最后一页返回太多结果

我的 Elasticsearch 查询返回 111 个结果,这意味着如果我正在对它们进行分页(每页 10 个结果),我应该有 12 个页面:11 个完整页面和 1 个具有单个结果的页面。

但是,我的最后一页仍然返回 10 个结果。它按预期返回最后一个结果,但也返回上一页的 9 个结果。如何禁用此行为并让它按预期返回单个结果?

我正在使用 Java API,代码如下:

SearchResponse response = client.prepareSearch("my_index")
   .setTypes("my_output")
   .setSearchType(SearchType.DFS_QUERY_THEN_FETCH)
   .setQuery(QueryBuilders.queryStringQuery(query))
   .setFrom(page).setSize(size)
   .execute()
   .actionGet();
Run Code Online (Sandbox Code Playgroud)

java elasticsearch

4
推荐指数
1
解决办法
3849
查看次数

SpringFox Swagger - 删除 200 个响应

我正在使用 Swagger 注释和 SpringFox 为我的 REST API(使用 Sprint Boot 构建)生成 Swagger 规范。我用@ApiResponse将返回的代码注释每个方法。例如:

@DeleteMapping("/{pipelineName}")
@ApiOperation(value = "Delete a specific pipeline")
@ApiResponses({
    @ApiResponse(code = 204, message = "Pipeline has been deleted"),
    @ApiResponse(code = 404, message = "Pipeline does not exist")
})
public void deletePipeline(@PathVariable("pipelineName") @ApiParam(value = "Name of pipeline", required = true) String name){
    ...
}
Run Code Online (Sandbox Code Playgroud)

但是,有些东西(我假设 SpringFox)会为每个 API 调用添加一个 200 响应代码,无论它是否定义。我知道我可以通过向@ResponseStatus每个方法添加注释来删除它,但是 a) 这似乎是 @ApiResponse 定义的不必要重复,并且 b) 某些方法可能返回多个 2xx 代码之一。

有没有办法或者去掉默认添加的200代码?

swagger spring-boot springfox

3
推荐指数
1
解决办法
4362
查看次数

从 Spring Boot 配置获取列表

我的 Spring Boot 应用程序似乎无法识别我的配置文件 (application.yml) 中的列表。以下是我正在尝试做的大致内容。

代码

@Autowired
private Environment environment;

public class Config{
  public Config(){
  }

  public List<String> getDateFields(){
    return environment.getProperty("dates.fields", List.class);
  }
}
Run Code Online (Sandbox Code Playgroud)

应用程序.yml :

dates:
  fields:
  - date
  - creationDate
Run Code Online (Sandbox Code Playgroud)

getDateFields上面返回空值。但是,如果我使用以下...

应用程序.yml :

dates:
  fields: creationDate
Run Code Online (Sandbox Code Playgroud)

...它工作正常并将其作为列表返回(尽管是单值的)。为什么我无法从 application.yml 文件中获取列表?我尝试检查是否environment包含dates.fields, 并在使用列表版本时environment.containsProperty("dates.fields")返回false

java yaml spring-boot

1
推荐指数
1
解决办法
2603
查看次数

Spring Boot可执行JAR - 布局更改打破Classpath

我有一个Spring Boot应用程序,允许从类路径加载其他组件(如果它们是我的应用程序中定义的接口的子类).这在Spring Boot 1.3.8中运行得很好,但是我想升级到Spring Boot 1.4.2但是可执行JAR新布局导致了一些问题.

当我现在在类路径上使用额外的JAR运行我的应用程序时,我得到了我正在尝试子类化的接口的ClassNotFoundException.这告诉我,虽然应用程序知道我的类在BOOT-INF中的位置,但由于它们不在标准位置,因此其他组件无法找到它们.

有谁知道如何解决这个问题?

我在spring-boot-maven-plugin中尝试了不同的布局选项,但它们似乎都没有做我想要的.

java spring-boot

1
推荐指数
1
解决办法
2728
查看次数

将 Elasticsearch Java REST API 与自签名证书结合使用

我想使用 Java REST API (RestHighLevelClient) 通过 HTTPS 与 Elasticsearch 5.6 服务器进行通信。但是,服务器的证书是自签名的,当我尝试连接时,它会抛出 SSLHandshakeException。

有没有办法将 REST 客户端配置为接受自签名证书?

java rest ssl-certificate elasticsearch

1
推荐指数
1
解决办法
7086
查看次数