Я использую Jest Client функцию анализа для анализа текста. Я использую Jest-клиент версии 5.3.4 и ES 6.5.4.
Вот код:
Analyze.Builder AnalyzeBuilder = new Analyze.Builder().index(index.name).text(textToAnalyze).analyzer(analyzer);
JestResult jestResult = null;
JestClient client = getClient(index.cluster); // fetches client from the pool
Analyze analyze = AnalyzeBuilder.build();
System.out.println(analyze.toString());
jestResult = client.execute(analyze);
System.out.println(jestResult.getJsonString());
assertNotNull(jestResult);
assertTrue(jestResult.isSucceeded());
Возвращается с ответом ниже:
{"error":{"root_cause":[{"type":"illegal_argument_exception","reason":"request [/mytest-ff3f0473-e20e-4926-b983-4cf466b0b397/_analyze] contains unrecognized parameter: [analyzer]"}],"type":"illegal_argument_exception","reason":"request [/mytest-ff3f0473-e20e-4926-b983-4cf466b0b397/_analyze] contains unrecognized parameter: [analyzer]"},"status":400}
Вот вывод toString переменной «анализ».
Analyze{uri=mytest-ff3f0473-e20e-4926-b983-4cf466b0b397/_analyze?analyzer=multilingual_english, method=POST}
Кажется, параметр "анализатор" в строке запроса больше не работает. Работает при отправке в формате JSON. Ниже работает запрос.
{"analyzer" : "standard", "text" : "while processing data"}
Есть ли способ заставить JestClient отправить параметр анализатора в JSON?