Google Search Appliance Feed问题

时间:2014-10-17 08:51:41

标签: google-search-appliance

我正在尝试使用<![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>

2 个答案:

答案 0 :(得分:1)

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

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

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

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

答案 1 :(得分:0)

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

相关问题