2013-09-24 1 views
0

у меня есть мой атом (список континента 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">&amp;count=100&amp;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. 

Любое предложение/рекомендация?

+0

Привет, я видел ваши вопросы, исследуя мою проблему с подачей GSA сегодня. Вы уверены, что можете просто вводить каналы ATOM в GSA, не преобразовывая их сначала, возможно, через XSLT? Возможно, они это позволяют, я не уверен, но вы видели эту страницу о протоколе подачи gsa? https://developers.google.com/search-appliance/documentation/64/feedsguide –

ответ

2

Вслед за этим слово «feed» здесь путается. Содержимое канала GSA не похоже на каналы RSS или Atom. Вот упрощенный пример (из документации):

<?xml version="1.0" encoding="utf-8"?> 
<!DOCTYPE gsafeed PUBLIC "-//Google//DTD GSA Feeds//EN" ""> 
<gsafeed> 
    <header> 
    <datasource>hello</datasource> 
    <feedtype>incremental</feedtype> 
    </header> 
    <record url="http://www.corp.enterprise.com/hello02" mimetype="text/plain"> 
    <content>UPDATED - This is hello02</content> 
    </record> 
</group> 
</gsafeed> 

Как вы можете видеть, что это очень специфический формат XML, а не совместно с веб-сайта форматов подачи обновлений. Документация для этого хорошо: http://www.google.com/support/enterprise/static/gsa/docs/admin/70/gsa_doc_set/feedsguide/feedsguide.html

 Смежные вопросы

  • Нет связанных вопросов^_^