笑话客户端分析功能在ES 6.5.4中失败

时间:2019-04-03 21:49:00

标签: elasticsearch jest

我正在使用jest客户分析功能来分析文本。我正在使用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}

这是“ analyze”变量的toString输出。

Analyze{uri=mytest-ff3f0473-e20e-4926-b983-4cf466b0b397/_analyze?analyzer=multilingual_english, method=POST}

查询字符串中的“ analyzer”参数似乎不再起作用。在JSON中发送时有效。下面的查询有效。

{"analyzer" : "standard", "text" : "while processing data"}

有什么方法可以强制JestClient在JSON中发送分析器参数?

1 个答案:

答案 0 :(得分:0)

我与searchly.com支持团队联系。他们回答说JestClient 5.3.4在ES 6.5.3上可能无法正常工作,并建议使用最新版本6.3.1。

我尝试过,并且JestClient 6.3.1与ElasticSearch 6.5.4一起使用。

谢谢