设置参数 `node.name` 可以自定义 Elasticsearch 节点的名字。 此条 Tips 由 medcl 贡献。

ES 的TransportClient 使用问题?

Elasticsearch | 作者 elisha | 发布于2018年03月23日 | 阅读数:6473

最近想做一个通用的java ES查询接口,由于ES查询语句种类比较多,使用TransportClient需要设置太多参数,请问一下TransportClient 支持将整个ES查询语句作为参数 进行查询操作吗?
 
当前TransportClient使用方法如下:
 
 
QueryStringQueryBuilder qsqb = QueryBuilders.queryStringQuery(syntax);
qsqb.defaultOperator(Operator.AND);
qsqb.defaultField("_all");
       
SearchRequestBuilder requestBuilder = client.prepareSearch(indices)
            .setSearchType(SearchType.QUERY_THEN_FETCH).setQuery(qsqb)
            .setFrom(start).setSize(rows).setExplain(false);
 
SearchResponse response = requestBuilder.execute().actionGet();
已邀请:

kennywu76 - Wood

赞同来自: elisha

可以利用一下search template,预先写好查询DSL的模版,然后代码里只需要用变量渲染一下,参考: https://www.elastic.co/guide/e ... .html

要回复问题请先登录注册