Google CustomSearchControl показывает непоследовательные ссылки на страницы - PullRequest
5 голосов
/ 10 декабря 2011

При использовании CustomSearchControl количество страниц результатов зависит от того, какую страницу вы просматриваете. Например, перейдите на этот сайт и найдите: car

На первой странице результатов будут показаны ссылки на 3 страницы, но при нажатии на 2 или 3 она заканчивается на странице 2.

Почему это происходит, и есть ли обходной путь для этого?

Можно ли получить фактическое количество результатов и построить свою собственную нумерацию страниц?

1 Ответ

1 голос
/ 16 февраля 2013

Причина в том, что Google оценивает только сколько результатов доступно. Когда вы загружаете каждую страницу, она уточняет оценку, и поэтому количество страниц изменяется.

Вы можете проверить свойствоtimateResultCount объекта customSearchControl.searcher.cursor, но, к сожалению, оно не поможет вам, потому что это всего лишь оценка, используемая CSE для генерации самой нумерации страниц. (По мере загрузки каждой страницы она будет меняться на новую оценку.) Также имеется свойство resultCount, но я считаю, что оно предназначено для обратной совместимости, поскольку оно всегда равно оцененному ResultCount.

К сожалению, CSE также недостаточно умна, чтобы помнить свою оценку. Таким образом, вы можете начать с оценки 127, перейти к последней странице и получить ее 94, затем перейти ко второй и последней странице и получить 120, даже если в этот момент он должен знать, что он не может быть больше, чем 94. Так что я думаю, если бы вы действительно хотели, вы могли бы сделать свою собственную нумерацию страниц, которая, по крайней мере, отслеживает минимальное значение. Похоже, что это обычно (всегда?) На последней странице, поэтому, если она должна быть настолько хорошей, насколько это возможно, вы можете программно загрузить последнюю страницу, взять оценку для построения нумерации страниц, а затем переключиться обратно на первую страницу для пользователя. .

Если вы решите пойти по этому пути, вы можете создать свою собственную нумерацию страниц, используя функцию customSearchControl.searcher.cursor.gotoPage (page). (https://developers.google.com/web-search/docs/reference#_class_GSearch)

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...