Java 如何在appengine上过滤搜索查询?
是否不仅可以对查询结果进行排序(com.google.appengine.api.search.query),还可以对其进行过滤?例如,在这个查询com.google.appengine.api.datastore.query中: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
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);