Elasticsearch插件用于构建和执行搜索模板查询

时间:2018-01-31 08:18:30

标签: elasticsearch-plugin

我正在创建一个Elasticsearch插件,我希望将模板查询构建为内联文本字符串并执行它。

对于Elasticsearch 6.1.2使用小胡子SearchTemplateRequestBuilder并通过此代码获取响应:

   SearchResponse sr = new SearchTemplateRequestBuilder(nodeClient)
                    .setScript("{\n" +
                            "        \"query\" : {\n" +
                            "            \"match\" : {\n" +
                            "                \"gender\" : \"{{param_gender}}\"\n" +
                            "            }\n" +
                            "        }\n" +
                            "}")
                    .setScriptType(ScriptType.INLINE)
                    .setScriptParams(template_params)
                    .setRequest(new SearchRequest())
                    .get()
                    .getResponse();

这是他们的文档中的一个例子。

我发现此例外有问题:

"class_cast_exception", 
"reason": "org.elasticsearch.script.mustache.SearchTemplateRequest cannot be cast to org.elasticsearch.script.mustache.SearchTemplateRequest"

那么,我试图实施的是否有解决方案?我怎样才能避免异常?

0 个答案:

没有答案