у меня есть мой атом (список континента XML) на этот адрес .../continent/search?view=atom
так:Как индексировать фид в Google Search Appliance?
<?xml version="1.0" encoding="UTF-8"?>
<feed xmlns="http://www.w3.org/2005/Atom" xmlns:opensearch="http://a9.com/-/spec/opensearch/1.1/">
<title>List of all continents</title>
<opensearch:totalResults>{{ continents_length }}</opensearch:totalResults>
<opensearch:startIndex>{{ continents.start_index }}</opensearch:startIndex>
<opensearch:itemsPerPage>{{ count }}</opensearch:itemsPerPage>
<opensearch:Query continent="request" searchTerms="" startPage="{{ continents.start_index }}" />
<author><name>My_site</name></author>
<id>urn:domain-id:mysite.com:continent</id>
<link rel="self" href="{{ url }}" />
{% for continent in continents %}
<entry>
<span class="continent_id">{{ continent.continent_id }}</span>
<span class="continent_name">{{ continent.continent_name }}</span>
<span class="list_countries">{{ continent.list_countries }}</span>
</entry>
{% endfor %}
</feed>
Когда я хочу, чтобы PUT и индекс фид в GSA-интерфейс я использовал это:
<?xml version="1.0" encoding="utf-8"?>
<entry xmlns="http://www.w3.org/2005/Atom">
<title>continent</title>
<id>urn:domain-id:mysite.com:continent</id>
<author>
<name>admin user</name>
</author>
<link rel="self" href=".../feed/continent"/>
<content type="xhtml">
<div xmlns="http://www.w3.org/1999/xhtml">
<span id="refresh-each">15 12,14,18 * * *</span>
<span id="gsa-datasource">continent</span>
<span id="gsa-feedtype">full</span>
<span id="url">...continent/search?view=atom</span>
<span id="opensearch-pattern">&count=100&startPage=%STARTPAGE%</span>
<ul class="connection">
<li id="userid">user</li>
<li id="password">pass</li>
</ul>
<ul id="metadata">
<li id="continent_id">atom:entry/xhtml:span[@class='continent_id']</li>
<li id="continent_name">atom:entry/xhtml:span[@class='continent_name']</li>
<li id="list_countries">atom:entry/xhtml:span[@class='list_countries']</li>
</ul>
<div id="xsl-content">
<![CDATA[
<xsl:stylesheet version="1.0"
xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
xmlns:atom="http://www.w3.org/2005/Atom"
xmlns:xhtml="http://www.w3.org/1999/xhtml"
exclude-result-prefixes="atom xhtml">
<xsl:template name="FormatDescription">
<xsl:param name="name"/>
<xsl:value-of select="$name"/>
</xsl:template>
<xsl:template match="atom:entry">
<html>
<body>
<xsl:apply-templates select="atom:entry/xhtml:span" />
</body>
</html>
</xsl:template>
<xsl:template match="atom:entry/xhtml:span">
<xsl:copy-of select="*"/>
</xsl:template>
</xsl:stylesheet>
]]>
</div>
</div>
</content>
</entry>
Но когда я проверить поток перетекает файлы он вернется 0 файла с ошибкой:
ProcessNode: Missing required attribute url. skipping element., skipping record
Для второго индексации и tird один, есть нет ошибки, и ни файла нет!
200 OK Feed continent has been pushed successfully to the Google Search Appliance.
Любое предложение/рекомендация?
Привет, я видел ваши вопросы, исследуя мою проблему с подачей GSA сегодня. Вы уверены, что можете просто вводить каналы ATOM в GSA, не преобразовывая их сначала, возможно, через XSLT? Возможно, они это позволяют, я не уверен, но вы видели эту страницу о протоколе подачи gsa? https://developers.google.com/search-appliance/documentation/64/feedsguide –