我正在尝试在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
答案 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")