undefined方法 - geoBoundingBoxQuery(String location)

时间:2015-12-21 22:16:53

标签: java eclipse elasticsearch

我正在尝试在Java中为弹性搜索创建geoBoundingBoxQuery("pin.location")。虽然Elastic Search Java API文档特别建议使用此方法,但Eclipse无法解析此方法的导入。

我需要导入哪个具有此方法的类?
https://www.elastic.co/guide/en/elasticsearch/client/java-api/current/java-geo-queries.html#java-query-dsl-geo-bounding-box-query

2 个答案:

答案 0 :(得分:0)

geoBoundingBoxQuery("pin.location")被定义为类org.elasticsearch.index.query.QueryBuilders中的静态方法,因此您可以这样使用它:

QueryBuilder q = QueryBuilders.geoBoundingBoxQuery("pin.location");

Elasticsearch文档假设您正在使用静态导入,例如:

import static org.elasticsearch.index.query.QueryBuilders.geoBoundingBoxQuery;

因此您不需要使用类名限定方法:

QueryBuilder q = geoBoundingBoxQuery("pin.location");

答案 1 :(得分:0)

对于遇到同样问题的人,我找到了答案。

我正在使用的Elastic search java API版本就是问题所在。该文档适用于2.1版,而我使用的是旧版本。对于旧版本,您需要执行以下操作:

FilterBuilders.geoBoundingBoxFilter("pin.location")