Может ли Google Search Appliance / Mini выводить JSON / JSONP? - PullRequest
4 голосов
/ 21 мая 2010

Использование Google Mini для веб-сайта, который нуждается в выводе данных из Google Mini в формате JSON / JSONP для внешних запросов. Google Mini публикует канал XML, который потенциально может использоваться промежуточным процессом для преобразования в JSON / JSONP.

Может ли Google Search Appliance / Mini выводить данные в JSON / JSONP с помощью плагина, модификации шаблона XSLT или другого неизвестного метода?

Решения обнаружены

  1. Похоже, копание в code.google.com показывает, что GSA / Mini не имеет метода для вывода в формате JSON / JSONP без использования XSLT для создания канала. Это вопрос создания XSLT для преобразования.
  2. Другой вариант - создать серверный сценарий с использованием доступной технологии (PHP?) Для извлечения XML из GSA / Mini и преобразования запроса в JSONP по запросу из Front-end (AJAX). Недостатком является увеличение накладных расходов в этом вызове.

Обновление 10/8/2010

Создан интерфейс Google Mini, который генерирует ответ JSONP.

Ответы [ 2 ]

8 голосов
/ 24 августа 2013

У меня была такая же проблема при попытке получить JSON и JSONP. Решение в целом работало на всех других браузерах, кроме IE. Я не мог изменить mime-тип на что-то отличное от text / html, поскольку это было глобальным в GSA. Создан XSLT для решения этой проблемы для браузеров, таких как IE, которые не позволяют возвращать содержимое из-за функции безопасности (IE - SEC7112)

https://github.com/kjonnala/gsa_template

Надеюсь, это поможет.

2 голосов
/ 29 сентября 2010

Я работаю над заходом № 2 выше. У нас есть версия 6.4 устройства, и она предоставляет JSON для службы предложений (вероятно, нова с момента вопроса Райли). Например:

http://code.google.com/apis/searchappliance/documentation/64/xml_reference.html#RichOutputFormat

Я столкнулся с тем, что междоменные ограничения не позволяли использовать сервис JSON устройства в формах поиска на сторонних веб-сайтах, в том числе в поддоменах нашего общего домена высокого уровня.

Сейчас я тестирую простой Java-сервлет, который делает запрос предложения. Он принимает входящие запросы, получает ответ от устройства, выводит в JSONP и отправляет обратно на страницу вызова.

Я нашел пару ссылок, связанных с прокси-сервером службы подсказок:

http://groups.google.com/group/Google-Search-Appliance-Help/browse_thread/thread/72406a271a6d9917/

http://www.mcplusa.com/blog/2009/07/adding-google-search-appliance-suggest-search-to-your-existing-page/

http://sites.google.com/site/lightbends/gsa_qs_6_2

и некоторые, связанные с JSONP с jQuery:

http://devlog.info/2010/03/10/cross-domain-ajax/

http://www.ibm.com/developerworks/library/wa-aj-jsonp1/

JSON в JSONP в сервлете быстрый и, вероятно, грязный в подходе, который я использую:)

Он еще не в производстве, поэтому я не могу говорить о том, что мы найдем с точки зрения производительности и других проблем. Мне нравится, что сервис предоставляется с дополнительного сервера, а не непосредственно с устройства (что позволяет регулировать поступающие запросы при необходимости и т. Д.), Если производительность может сохраняться.

1 октября 2010 г. Обновление

Извините - мой пост выше относится только к сервису подсказок, а не к общим результатам поиска. Вы все еще можете взять XML-ответ, обработать и обернуть его в JSON / JSONP, но я подозреваю, что это займет больше времени. Я использовал JSONP в контексте предложения поисковых запросов с автозаполнением jQuery, поэтому важно иметь быстрый ответ (по мере их ввода).

...