mirror of
https://github.com/yacy/yacy_search_server.git
synced 2024-09-19 00:01:41 +02:00
Limit search API calls rate when typing in the search portal widget
This commit is contained in:
parent
39dd29a484
commit
79643c40bf
|
@ -184,7 +184,7 @@ function yrun() {
|
|||
$("#ypopup").dialog('close');
|
||||
} else { // Else fire up a search request and remeber the current search term
|
||||
ycurr = $("#yquery").getValue();
|
||||
yacysearch(true);
|
||||
debouncedYacysearch(true);
|
||||
}
|
||||
return false;
|
||||
});
|
||||
|
@ -205,6 +205,24 @@ function yrun() {
|
|||
});
|
||||
}
|
||||
|
||||
var suggestTimeoutId = null;
|
||||
|
||||
/**
|
||||
* Debounce wrapper to limit the rate of calls to the backend search service.
|
||||
* @param clear when true, clear the results popup
|
||||
*/
|
||||
function debouncedYacysearch(clear) {
|
||||
if(suggestTimeoutId != null) {
|
||||
/* Remove delayed call not yet done */
|
||||
clearTimeout(suggestTimeoutId);
|
||||
}
|
||||
|
||||
/* Limit the rate of calls to the search API by adding a delay before effective call */
|
||||
suggestTimeoutId = setTimeout(function() {
|
||||
yacysearch(clear);
|
||||
}, 400);
|
||||
}
|
||||
|
||||
function yacysearch(clear) {
|
||||
var url = yconf.url + '/yacysearch.json?callback=?' // JSONP (cross domain) request URL
|
||||
//var url = yconf.url + '/solr/select?wt=yjson&callback=?' // JSONP (cross domain) request URL
|
||||
|
|
Loading…
Reference in New Issue
Block a user