#google-custom-search
#google-пользовательский поиск
Вопрос:
Я нахожусь в процессе переноса пользовательской поисковой системы Google для использования CustomSearchControl для замены устаревшего WebSearch API, и одним из требований является сортировка результатов предложения по дате. Но до сих пор я не мог понять, как указать Google сортировать результаты по последней дате, прежде чем возвращать предложение. Пример кода выглядит следующим образом:
var refinement="Support";
.....
switch(product)
{
case "10000":
refinement = "Support1";
break;
case "10002":
refinement = "Support1";
break;
case "10001":
refinement = "Support2";
break;
default:
break;
}
var customSearchControl = new google.search.CustomSearchControl('cseId');
customSearchControl.setSearchStartingCallback(this, function(control, searcher, query) {
searcher.setQueryAddition('more:' refinement);
});
customSearchControl.setResultSetSize(7);
customSearchControl.draw('entries');
......
Я пробовал сортировать результаты по метке «недавность», но это не работает:
customSearchControl.setSearchStartingCallback(this, function(control, searcher, query) {
//searcher.setQueryAddition('more:recent3');
searcher.setQueryAddition('more:' refinement ', more:recent3');
});
И я также пробовал сортировать по атрибутам, но это тоже не работает:
var options = {};
options[google.search.Search.RESTRICT_EXTENDED_ARGS] = {'sort': 'date-sdate:d:s'}; //Tried to use other date format but it doesn't help
var customSearchControl = new google.search.CustomSearchControl('cseId', options);
Возможно, сортировка по атрибутам не будет работать, потому что у нас нет атрибутов, объявленных в нашей веб-документации. Таким образом, есть ли какой-либо другой способ, позволяющий нам указать Google сортировать результаты поиска по дате?
Ответ №1:
Я наткнулся на следующее:
http://code.google.com/intl/nl-NL/apis/customsearch/docs/js/cselement-reference.html
options[google.search.Search.RESTRICT_EXTENDED_ARGS] = {
'lr': 'lang_it',
'sort': 'date'
};
var customSearchControl = new google.search.CustomSearchControl(id, options);
Надеюсь, это поможет, если проблема все еще существует.