Сделайте анализ API вызова с помощью JEST - PullRequest
0 голосов
/ 04 января 2019

У меня очень простое требование, мне нужно получить анализируемый текст поискового запроса на основе набора анализатора по умолчанию для моего индекса.

Я использую API анализа https://www.elastic.co/guide/en/elasticsearch/reference/1.7/indices-analyze.html длянапример, получить токены для таких слов, как apple , galaxy , вернется appl и galaxi , поскольку english являетсядля моего индекса установлен анализатор по умолчанию.

Я могу получить его с помощью плагина KOPF и запроса curl.Теперь я хочу сделать это программно.

Я использую 1.7 версию ES и 1.0.3 версию JEST библиотеки.Я просмотрел различные файлы библиотеки JEST , но не смог найти поддержки для выполнения вызова API Analyze .

Дайте мне знать, если вам нужна какая-либо информация от моегобоковая сторона.

1 Ответ

0 голосов
/ 04 января 2019

Вы можете ниже кусок кода.

        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;

Это прекрасно работает для меня.

...