Может ли Google Search Appliance / Mini выводить JSON / JSONP?

Использование 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 по запросу из внешнего интерфейса (AJAX). Обратной стороной является увеличение накладных расходов на этот звонок.

Обновление 08.10.2010

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


person Riley    schedule 20.05.2010    source источник
comment
Я не уверен, но, возможно, вам повезет больше на ServerFault   -  person Josh    schedule 21.05.2010
comment
Пожалуйста, четко сформулируйте, в чем ваш вопрос. Возникает вопрос: какие приложения XSLT доступны для преобразования XM в JSON?   -  person Dimitre Novatchev    schedule 21.05.2010
comment
@Dimitre Novatchev: Ищем жизнеспособные решения для предоставления данных JSON / JSONP для вызова AJAX; будь то напрямую с сервера устройства или через промежуточное программное обеспечение (PHP?), которое может преобразовывать XML в JSON / P.   -  person Riley    schedule 21.05.2010
comment
Недавно мне нужно было сделать так, чтобы наш Google Mini выводил результаты в формате JSON и JSONP, а также развернул свой собственный шаблон XSLT для получения результатов в формате JSON. Я разместил код на github github.com/icerunner/google-mini   -  person    schedule 12.02.2013
comment
Филип, вы можете проверить github.com/steveathon/GSJSON как еще один шаблон XSLT для продукта JSON / JSONP. форматированные результаты. Google Mini показывает результаты в неправильном mime-типе; поэтому некоторые браузеры выдают сообщение об ошибке.   -  person Riley    schedule 25.02.2013


Ответы (2)


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

https://github.com/kjonnala/gsa_template

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

person Developer    schedule 24.08.2013
comment
Не могли бы вы подтвердить, будет ли этот подход работать со всеми / большинством браузеров? - person sorin; 25.06.2014

Я работаю над подходом №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, поэтому очень важно иметь быстрый ответ (по мере ввода).

person gcbound    schedule 29.09.2010