java - 使用JEST进行分析API调用

标签 java elasticsearch jest elasticsearch-analyzers

我有一个非常简单的要求,我需要根据为索引设置的默认分析器获取搜索词的分析文本。

我正在使用分析API https://www.elastic.co/guide/en/elasticsearch/reference/1.7/indices-analyze.html获取所需的 token 。

我可以使用curl请求获取它。

我正在使用2.X版本的ES和 JEST 库。我调查了 JEST 库的各种文件,但找不到对进行分析 API调用的支持。

最佳答案

您可以在下面的代码中。

        List<String> tokens = new ArrayList<>();
        Action analyze = new Analyze.Builder().source("apple").build();
        JestResult result = client.execute(analyze);
        if (result.isSucceeded()) {
            JsonElement tokenElement = result.getJsonObject().get("tokens");
            if (tokenElement != null) {
                JsonArray tokens = tokenElement.getAsJsonArray();
                for (int i = 0; i < tokens.size(); i++) {
                    tokens.add(tokens.get(i).getAsJsonObject().get("token").getAsString());
                }
            }
        }
        return tokens;

这对我来说可以。

关于java - 使用JEST进行分析API调用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54033802/

相关文章:

java - C++代码可以读取Java .class文件吗?

Java Casting 查询异常和错误

elasticsearch - 如何在 Elasticsearch 中编写执行 field1 AND (field2 OR field3) 的 bool 查询

elasticsearch - Elasticsearch应该操作查询

elasticsearch - 为什么我的 Elasticsearch 查询不返回由英语分析器分析的文本?

elasticsearch - 如何使用Jest客户端一次从Elasticsearch一次获取一万多个文档

elasticsearch - 如何使用Jest在 Elasticsearch 中获取索引的创建时间

java - 无法将图像按钮转换到小部件按钮

java - 使用 GZIPOutputStream 压缩以上传而不在本地创建 gzip 文件

elasticsearch - 使用updateBuilder时不会发生Elasticsearch部分更新