【问题标题】:Can a Google Search Appliance / Mini output JSON/JSONP?Google Search Appliance / Mini 可以输出 JSON/JSONP 吗?
【发布时间】:2010-05-20 23:15:05
【问题描述】:

将 Google Mini 用于需要以 JSON/JSONP 格式从 Google Mini 输出的网站,以便进行前端查询。 Google Mini 确实发布了一个 XML 提要,中间进程可能会使用该提要转换为 JSON/JSONP。

Google Search Appliance / Mini 能否使用插件、修改 XSLT 模板或其他未知方法输出到 JSON/JSONP?

发现的解决方案

  1. 似乎通过 code.google.com 挖掘发现 GSA/Mini 没有在不使用 XSLT 创建提要的情况下以 JSON/JSONP 格式输出的方法。只需创建此 XSLT 来进行转换。
  2. 其他选项是使用可用技术 (PHP?) 创建服务器端脚本,以从 GSA/Mini 检索 XML,并根据前端 (AJAX) 的请求将提要转换为 JSONP。缺点是此调用会增加开销。

2010 年 10 月 8 日更新

创建了一个生成 JSONP 响应的 Google Mini 前端。

【问题讨论】:

  • 我不确定,但你在ServerFault上可能会有更好的运气
  • 请清楚说明您的问题。问题是“哪些 XSLT 应用程序可用于将 XM 转换为 JSON”?
  • @Dimitre Novatchev:寻找可行的解决方案,为 AJAX 调用提供 JSON/JSONP 数据;无论是直接来自 Appliance Server 还是通过可以将 XML 转换为 JSON/P 的中间件 (PHP?)。
  • 我最近需要让我们的 Google Mini 输出 JSON 和 JSONP 格式的结果,并使用我自己的 XSLT 模板来生成 JSON 格式的结果。我已经把代码放在github上github.com/icerunner/google-mini
  • Philip,您可以查看 github.com/steveathon/GSJSON 作为另一个 XSLT 模板来生成 JSON/JSONP 格式的结果。 Google Mini 确实以不正确的 mime 类型提供了结果;因此,某些浏览器会产生错误消息。

标签: javascript json xslt google-search-appliance


【解决方案1】:

我在尝试获取 JSON 和 JSONP 时遇到了同样的问题。该解决方案通常适用于所有其他浏览器,但 IE 除外。我无法将 mime-type 更改为 text/html 以外的其他内容,因为它在 GSA 中是全局的。创建了一个 XSLT 来解决像 IE 这样的浏览器由于安全功能(IE – SEC7112)而不允许返回内容的问题

https://github.com/kjonnala/gsa_template

希望对您有所帮助。

【讨论】:

  • 您能否确认这种方法是否适用于所有/大多数浏览器?
【解决方案2】:

我正在研究上面的方法 #2。我们有 6.4 版的设备,它为建议服务提供 JSON(可能自 Riley 的问题以来是新的)。例如:

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

我遇到的是跨域限制阻止在非设备网站搜索表单上使用设备 JSON 服务,包括我们共享高级域的子域中的那些。

我现在正在测试一个简单的 Java servlet,它会发出建议调用。它接收传入请求,从设备获取响应,以 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

还有一些与 jQuery 的 JSONP 相关:

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

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

servlet 中 JSON 到 JSONP 的速度很快,而且在我采用的方法中可能很脏 :)

它还没有投入生产,所以我无法谈论我们在性能和其他挑战方面会发现什么。如果性能能够跟上,我喜欢从辅助服务器而不是直接从设备公开服务(允许在需要时限制传入请求等)。

2010 年 10 月 1 日更新

抱歉 - 我上面的帖子仅适用于建议服务,不适用于一般搜索结果。您仍然可以获取 XML 响应、处理并将其包装在 JSON/JSONP 中,但我怀疑这会花费更长的时间。我在建议使用 jQuery 自动完成的搜索查询的上下文中使用 JSONP,因此快速响应(当他们键入时)很重要。

【讨论】:

    猜你喜欢
    • 2023-03-24
    • 1970-01-01
    • 1970-01-01
    • 2014-08-08
    • 2013-06-16
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多