本文整理汇总了Java中com.google.appengine.api.search.Results.getNumberFound方法的典型用法代码示例。如果您正苦于以下问题:Java Results.getNumberFound方法的具体用法?Java Results.getNumberFound怎么用?Java Results.getNumberFound使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类com.google.appengine.api.search.Results
的用法示例。
在下文中一共展示了Results.getNumberFound方法的2个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Java代码示例。
示例1: getPlaces
import com.google.appengine.api.search.Results; //导入方法依赖的package包/类
static List<PlaceInfo> getPlaces(GeoPt location, long distanceInMeters, int resultCount) {
// TODO(user): Use memcache
String geoPoint = "geopoint(" + location.getLatitude() + ", " + location.getLongitude() + ")";
String query = "distance(place_location, " + geoPoint + ") < " + distanceInMeters;
String locExpr = "distance(place_location, " + geoPoint + ")";
SortExpression sortExpr = SortExpression.newBuilder()
.setExpression(locExpr)
.setDirection(SortExpression.SortDirection.ASCENDING)
.setDefaultValueNumeric(distanceInMeters + 1)
.build();
Query searchQuery = Query.newBuilder().setOptions(QueryOptions.newBuilder()
.setSortOptions(SortOptions.newBuilder().addSortExpression(sortExpr))).build(query);
Results<ScoredDocument> results = getIndex().search(searchQuery);
if (results.getNumberFound() == 0) {
// geo-location doesn't work under dev_server
if (environment.value() == Development) {
// return all documents
results = getIndex().search("value > 0");
}
}
List<PlaceInfo> places = new ArrayList<PlaceInfo>();
for (ScoredDocument document : results) {
if (places.size() >= resultCount) {
break;
}
GeoPoint p = document.getOnlyField("place_location").getGeoPoint();
PlaceInfo place = new PlaceInfo();
place.setplaceID(document.getOnlyField("id").getText());
place.setName(document.getOnlyField("name").getText());
place.setAddress(document.getOnlyField("address").getText());
place.setLocation(new GeoPt((float) p.getLatitude(), (float) p.getLongitude()));
// GeoPoints are not implemented on dev server and latitude and longitude are set to zero
// But since those are doubles let's play safe
// and use double comparison with epsilon set to 0.0001
if (Math.abs(p.getLatitude()) <= 0.0001 && Math.abs(p.getLongitude()) <= 0.0001) {
// set a fake distance of 5+ km
place.setDistanceInKilometers(5 + places.size());
} else {
double distance = distanceInMeters / 1000;
try {
distance = getDistanceInKm(
p.getLatitude(), p.getLongitude(), location.getLatitude(), location.getLongitude());
} catch (Exception e) {
log.warning("Exception when calculating a distance: " + e.getMessage());
}
place.setDistanceInKilometers(distance);
}
places.add(place);
}
return places;
}
开发者ID:googlearchive,项目名称:solutions-mobile-shopping-assistant-backend-java,代码行数:66,代码来源:PlacesHelper.java
示例2: getMatchingRecordCount
import com.google.appengine.api.search.Results; //导入方法依赖的package包/类
@Override
public long getMatchingRecordCount() {
Results<ScoredDocument> results = results();
return results.getNumberFound();
}