Skip to content
Permalink
Browse files

Limit search API calls rate when typing in the search portal widget

  • Loading branch information...
luccioman committed Aug 28, 2018
1 parent 39dd29a commit 79643c40bfe62ff724162c1789b270fcea04767a
Showing with 19 additions and 1 deletion.
  1. +19 −1 htroot/portalsearch/yacy-portalsearch.js
@@ -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

0 comments on commit 79643c4

Please sign in to comment.
You can’t perform that action at this time.