我正在尝试使用<![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>
答案 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文档。