本文整理汇总了Java中com.algolia.search.saas.AlgoliaException类的典型用法代码示例。如果您正苦于以下问题:Java AlgoliaException类的具体用法?Java AlgoliaException怎么用?Java AlgoliaException使用的例子?那么, 这里精选的类代码示例或许可以为您提供帮助。
AlgoliaException类属于com.algolia.search.saas包,在下文中一共展示了AlgoliaException类的15个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Java代码示例。
示例1: searchDisjunctiveFacetingAsync
import com.algolia.search.saas.AlgoliaException; //导入依赖的package包/类
/**
* Perform a search with disjunctive facets, generating as many queries as number of disjunctive facets.
*
* @param query The query.
* @param disjunctiveFacets List of disjunctive facets.
* @param refinements The current refinements, mapping facet names to a list of values.
* @param completionHandler The listener that will be notified of the request's outcome.
* @return A cancellable request.
*/
public Request searchDisjunctiveFacetingAsync(@NonNull Query query, @NonNull final List<String> disjunctiveFacets, @NonNull final Map<String, List<String>> refinements, @NonNull final CompletionHandler completionHandler) {
final List<Query> queries = computeDisjunctiveFacetingQueries(query, disjunctiveFacets, refinements);
return multipleQueriesAsync(queries, new CompletionHandler() {
@Override
public void requestCompleted(JSONObject content, AlgoliaException error) {
JSONObject aggregatedResults = null;
try {
if (content != null) {
aggregatedResults = aggregateDisjunctiveFacetingResults(content, disjunctiveFacets, refinements);
}
} catch (AlgoliaException e) {
error = e;
}
completionHandler.requestCompleted(aggregatedResults, error);
}
});
}
示例2: searchAsync
import com.algolia.search.saas.AlgoliaException; //导入依赖的package包/类
@Test
public void searchAsync() throws Exception {
PlacesQuery query = new PlacesQuery();
query.setQuery("Paris");
query.setType(PlacesQuery.Type.CITY);
query.setHitsPerPage(10);
query.setAroundLatLngViaIP(false);
query.setAroundLatLng(new PlacesQuery.LatLng(32.7767, -96.7970)); // Dallas, TX, USA
query.setLanguage("en");
query.setCountries("fr", "us");
places.searchAsync(query, new AssertCompletionHandler() {
@Override public void doRequestCompleted(JSONObject content, AlgoliaException error) {
if (error != null) {
fail(error.getMessage());
}
assertNotNull(content);
assertNotNull(content.optJSONArray("hits"));
assertTrue(content.optJSONArray("hits").length() > 0);
}
});
}
示例3: loadMore
import com.algolia.search.saas.AlgoliaException; //导入依赖的package包/类
/**
* Loads more results with the same query.
* <p>
* Note that this method won't do anything if {@link Searcher#hasMoreHits} returns false.
*
* @return this {@link Searcher} for chaining.
*/
@NonNull
public Searcher loadMore() {
if (!hasMoreHits()) {
return this;
}
query.setPage(++lastRequestPage);
final int currentRequestId = ++lastRequestId;
EventBus.getDefault().post(new SearchEvent(query, currentRequestId));
pendingRequests.put(currentRequestId, triggerSearch(new CompletionHandler() {
@Override
public void requestCompleted(@NonNull JSONObject content, @Nullable AlgoliaException error) {
pendingRequests.remove(currentRequestId);
if (error != null) {
postError(error, currentRequestId);
} else {
if (currentRequestId <= lastResponseId) {
return; // Hits are for an older query, let's ignore them
}
if (hasHits(content)) {
updateListeners(content, true);
updateFacetStats(content);
lastResponsePage = lastRequestPage;
checkIfLastPage(content);
} else {
endReached = true;
}
EventBus.getDefault().post(new ResultEvent(content, query, currentRequestId));
}
}
}));
return this;
}
示例4: getUpdatedFacetStats
import com.algolia.search.saas.AlgoliaException; //导入依赖的package包/类
/**
* Updates the facet stats, calling {@link Index#search(Query, RequestOptions)} without notifying listeners of the result.
*/
@SuppressWarnings({"WeakerAccess", "unused"}) // For library users
public void getUpdatedFacetStats() {
index.searchAsync(query, new CompletionHandler() {
@Override
public void requestCompleted(JSONObject content, AlgoliaException error) {
if (error == null) {
updateFacetStats(content);
} else {
Log.e("Algolia|Searcher", "Error while getting updated facet stats:" + error.getMessage());
}
}
});
}
示例5: onError
import com.algolia.search.saas.AlgoliaException; //导入依赖的package包/类
@Override
public void onError(@NonNull Query query, @NonNull AlgoliaException error) {
if (errorTemplate == null) {
setVisibility(GONE);
} else {
setVisibility(VISIBLE);
setText(applyTemplate(errorTemplate, query, error));
}
}
示例6: commit
import com.algolia.search.saas.AlgoliaException; //导入依赖的package包/类
@Override
public void commit() {
if (batch.size() == 0) {
return;
}
try {
index.batch(batch);
batch.clear();
} catch (AlgoliaException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
示例7: requestCompleted
import com.algolia.search.saas.AlgoliaException; //导入依赖的package包/类
@Override
public void requestCompleted(JSONObject content, AlgoliaException error) {
if (!cancelled) {
handler.handleBatch(BrowseIterator.this, content, error);
if (error == null) {
cursor = content.optString("cursor", null);
if (!cancelled && hasNext()) {
next();
}
}
}
}
示例8: searchAsync
import com.algolia.search.saas.AlgoliaException; //导入依赖的package包/类
/**
* Search for places.
*
* @param params Search parameters.
* @param completionHandler The listener that will be notified of the request's outcome.
* @return A cancellable request.
*/
public Request searchAsync(@NonNull PlacesQuery params, @NonNull CompletionHandler completionHandler) {
final PlacesQuery paramsCopy = new PlacesQuery(params);
return new AsyncTaskRequest(completionHandler) {
@Override
protected @NonNull JSONObject run() throws AlgoliaException {
return search(paramsCopy);
}
}.start();
}
示例9: search
import com.algolia.search.saas.AlgoliaException; //导入依赖的package包/类
/**
* Search for places.
*
* @param params Search parameters.
*/
protected JSONObject search(@NonNull PlacesQuery params) throws AlgoliaException {
try {
JSONObject body = new JSONObject()
.put("params", params.build());
return postRequest("/1/places/query", /* urlParameters: */ null, body.toString(), true /* readOperation */, /* requestOptions: */ null);
}
catch (JSONException e) {
throw new RuntimeException(e); // should never happen
}
}
示例10: search
import com.algolia.search.saas.AlgoliaException; //导入依赖的package包/类
/**
* Starts a search with the given text from the given origin.
*
* @param queryString a String to search on the index.
* @param origin an optional origin to identify the change.
* @return this {@link Searcher} for chaining.
*/
@NonNull
public Searcher search(@Nullable final String queryString, @Nullable final Object origin) {
if (queryString != null) {
query.setQuery(queryString);
EventBus.getDefault().post(new QueryTextChangeEvent(queryString, origin));
}
endReached = false;
lastRequestPage = 0;
lastResponsePage = -1;
final int currentRequestId = ++lastRequestId;
final CompletionHandler searchHandler = new CompletionHandler() {
@Override
public void requestCompleted(@Nullable JSONObject content, @Nullable AlgoliaException error) {
pendingRequests.remove(currentRequestId);
// NOTE: Canceling any request anterior to the current one.
//
// Rationale: Although TCP imposes a server to send responses in the same order as
// requests, nothing prevents the system from opening multiple connections to the
// same server, nor the Algolia client to transparently switch to another server
// between two requests. Therefore the order of responses is not guaranteed.
for (int i = 0; i < pendingRequests.size(); i++) {
int reqId = pendingRequests.keyAt(i);
Request request = pendingRequests.valueAt(i);
if (reqId < currentRequestId) {
cancelRequest(request, reqId);
}
}
if (currentRequestId <= lastResponseId) {
Log.e("Algolia|Searcher", "We already displayed results for request " + lastResponseId
+ ", current request (" + currentRequestId + ") should have been canceled");
}
if (content == null || !hasHits(content)) {
endReached = true;
} else {
checkIfLastPage(content);
}
lastResponseId = currentRequestId;
lastResponsePage = 0;
if (error != null) {
postError(error, currentRequestId);
} else {
if (content == null) {
Log.e("Algolia|Searcher", "content is null but error too.");
} else {
EventBus.getDefault().post(new ResultEvent(content, query, currentRequestId));
updateListeners(content, false);
updateFacetStats(content);
}
}
}
};
final Request searchRequest;
searchRequest = triggerSearch(searchHandler);
EventBus.getDefault().post(new SearchEvent(query, currentRequestId));
pendingRequests.put(currentRequestId, searchRequest);
return this;
}
示例11: postError
import com.algolia.search.saas.AlgoliaException; //导入依赖的package包/类
private void postError(@NonNull AlgoliaException error, int currentRequestId) {
for (AlgoliaErrorListener listener : errorListeners) {
listener.onError(query, error);
}
EventBus.getDefault().post(new ErrorEvent(error, query, currentRequestId));
}
示例12: onError
import com.algolia.search.saas.AlgoliaException; //导入依赖的package包/类
@Override
public void onError(@NonNull Query query, @NonNull AlgoliaException error) {
Log.e("Algolia|Hits", "Error while searching '" + query.getQuery() + "':" + error.getMessage());
}
示例13: onError
import com.algolia.search.saas.AlgoliaException; //导入依赖的package包/类
@Override public final void onError(@NonNull Query query, @NonNull AlgoliaException error) {
Filters.hideIfShouldHide(this, autoHide, shouldHide);
}
示例14: onError
import com.algolia.search.saas.AlgoliaException; //导入依赖的package包/类
@Override public void onError(@NonNull Query query, @NonNull AlgoliaException error) {
Filters.hideIfShouldHide(this, autoHide, true);
}
示例15: applyTemplate
import com.algolia.search.saas.AlgoliaException; //导入依赖的package包/类
private String applyTemplate(@NonNull String template, @NonNull Query query, @NonNull AlgoliaException error) {
return template
.replace("{query}", String.valueOf((query.getQuery())))
.replace("{error}", String.valueOf((error.getLocalizedMessage())));
}