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