Java 如何在appengine上过滤搜索查询?

Java 如何在appengine上过滤搜索查询?,java,google-app-engine,Java,Google App Engine,是否不仅可以对查询结果进行排序(com.google.appengine.api.search.query),还可以对其进行过滤?例如,在这个查询com.google.appengine.api.datastore.query中: Filter heightMinFilter = new FilterPredicate("height", FilterOperator.GREATER_THAN_OR_EQUAL, minHe

是否不仅可以对查询结果进行排序(com.google.appengine.api.search.query),还可以对其进行过滤?例如,在这个查询com.google.appengine.api.datastore.query中:

Filter heightMinFilter =
new FilterPredicate("height",
                  FilterOperator.GREATER_THAN_OR_EQUAL,
                  minHeight);
Query q = new Query("Person").setFilter(heightMinFilter); 

搜索查询具有排序所需的选项,但我也希望筛选结果,因为这些选项太多,我只需要特定的选项。

筛选器是查询字符串的一部分

查询字符串指定一个或多个值的条件 文档字段。当你搜索一个索引时,你只会得到那些 索引中包含满足查询的字段的文档

请参阅下面的示例或查找更多详细信息

String queryString=“产品:钢琴,价格<5000”;
Query=Query.newBuilder().build(queryString);
Results=getIndex().search(queryString);

但是您可以使用
setFilter()方法过滤结果。为什么不这样做呢?setFilter()仅在datastore.Query中可用,但在search.Query中不存在。这些是不同的对象。哦,我明白了。我错了,你读过了吗?它给出了字段受限查询的示例。
String queryString = "product: piano AND price < 5000";

Query query = Query.newBuilder().build(queryString);

Results<ScoredDocument> results = getIndex().search(queryString);