【问题标题】:Issue with the Google search appliance FeedGoogle Search Appliance 供稿问题
【发布时间】:2014-10-17 08:51:40
【问题描述】:

我正在尝试将带有 <![CDATA[ ]]> 标记中的一些 JSON 数据的 xml 文件提供给 Google Search Appliance,但由于 GSA 呈现为 HTML 格式,因此没有得到预期的结果。

下面是我试图在 GSA 上提供的文件-

<?xml version='1.0' encoding='UTF-8'?><!DOCTYPE gsafeed PUBLIC "-//Google//DTD GSA Feeds//EN" "gsafeed.dtd">
<gsafeed>
<header>
<datasource>samples_feed</datasource>
<feedtype>Full</feedtype>
</header>
<group>
<record url="some url" action="add" mimetype="application/json"> 
<content>
 <![CDATA[
{"1":"Samlpe","2":"JSON","3":false}]]> 
</content>
</record>
</group>
</gsafeed>

【问题讨论】:

    标签: google-search-appliance


    【解决方案1】:

    通过格式化记录内容的方式,您当然可以让 GSA 为内容编制索引,但您无法将 JSON 数据作为结果的一部分取回。为此,您需要 [编码并] 将其嵌入到元数据标签的内容中。例如,

        <content>
        <![CDATA[
        <head>
        <meta name="jsondata" content='{"1":"Samlpe","2":"JSON","3":false}'>
        </head><body></body>
        </html>
        ]]> 
        </content>
    

    然后,当您实际进行搜索时(您希望上述记录匹配),在查询字符串中传入“&getfields=jsondata”或“getfields=*”——这样您应该能够看到您的结果将 json 数据包含在一个元素中,如下所示:

        <MT N="jsondata" V="{'your': 'json', 'data': 'here'}">
    

    【讨论】:

      【解决方案2】:

      GSA 正在将您的 CDATA 内容索引为纯文本。无论内容类型和 mimetype 是什么,发送到 GSA 的所有内容都以相同的方式编入索引。它被转换为 HTML,然后被索引。如果您希望结果中包含结构化内容,请使用提要协议中包含的元数据或使用 html 元数据创建一个 html 文档。

      【讨论】:

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