Перенаправить поиск на страницу результатов Google Search Appliance

У меня есть домашняя страница с кнопкой поиска, которая в настоящее время направляет пользователей на общую страницу результатов Google Search Appliance (GSA), но я хотел бы обернуть результаты в пользовательскую HTML-страницу без использования XSLT.

Я посмотрел в Интернете и услышал, что это можно сделать с помощью JavaScript или сценариев на стороне сервера. Я знаю, что есть решение iFrame тоже; однако это только решение, когда вы используете поле поиска на той же странице iFrame.

Поскольку у меня нет доступа к внутреннему серверу, я бы предпочел сделать это на внешнем интерфейсе, либо в JavaScript, либо в каком-либо другом сценарии. Я не могу найти примеры в документации Google о том, как это сделать.

У кого-нибудь есть примеры того, как это может выглядеть?

2 ответа

Итак, у вас есть несколько вариантов:

  1. В своем действии формы (то есть, что происходит при отправке поиска) вы можете использовать параметры URL-адреса, чтобы указывать на определенный внешний интерфейс GSA, но не включать параметр proxystylesheet. Затем он вернет вам простой XML, и вы можете делать с ним все, что считаете нужным (содержание этого XML хорошо документировано).
  2. Исправьте исходную проблему и включите верхний и нижний колонтитулы в XSLT

Имейте в виду, что с № 1 сложнее включить в свои результаты некоторые из лучших функций пользовательского интерфейса GSA, такие как предварительный просмотр документов и динамическая навигация. Если конфликты CSS - ваша единственная проблема с #2, я бы лично потратил свое время, пытаясь их исправить.

Вы упомянули, что у вас нет доступа к бэкэнд-серверу, но можете ли вы сделать обратный прокси на своем веб-сервере? (т.е. http://yoursite/search -> http://yourgsa/search)

использование прокси и некоторого javascript - лучший способ. Вы не можете по-настоящему использовать XML/jSON из GSA через Javascript любым другим способом через сайт.

Существует таблица стилей, которая преобразует результаты в json / jsonp:

https://github.com/steveathon/GSJSON

Но GSA не испускает все заголовки, которые делают эту работу хорошо.

Другие вопросы по тегам