为 Google 个 Search Appliance 编制 Youtube 视频索引

Index Youtube videos for Google Search Appliance

我们已成功使用 Youtube API 创建 GSA 需要的元数据和 url xml 提要并将其推送到我们的 Google 搜索根据文档的设备

我们的问题是,我们知道您需要在 内容来源 > 网络抓取 > 开始和阻止 URLs 页面中开始 url管理控制台。如果我们输入 https://www.youtube.com as a start url and a follow pattern of https://www.youtube.com/watch?v=*(看起来所有 youtube 视频都遵循),GSA 将只索引来自提要的内容,还是会输出到 youtube.com 并索引一堆内容'不是我们频道的一部分?我看不到任何可以为视频指定频道的地方。

仅供参考,我们知道 YouTube 的 FishBowlSolutions 连接器,但试图避免使用 TomCat 启动另一台服务器只是为了索引我们的 YouTube 视频。

Google CSE Search

YouTube User Panel

我还没有使用 GSA(虽然我正在加强它,这就是我找到你的 post 的方式),但我使用 Google 完成此操作的方式' s CSE 是专门为频道、用户或播放列表编制索引,而不是一般的 youtube,即:

youtube 点com/user/alltrapmusic

或:youtube 点com/channel/UC_ahy2GUec7EmbWF3LGxLhQ

或:youtube 点 com/playlist?list=PLsHnWFR4n5jBFYdsclaKtdWQtf2Iu8bKZ

因此,在 CSE 中,我可以配置为仅搜索该用户、频道和播放列表,并且 return 仅搜索这三者的结果(Google CSE 搜索 link)。

我只能假设 GSA 的工作原理相同(正如我提到的,我没有使用 GSA 的经验);如果没有,我很抱歉。

~chipleh

p.s。 - 为了找到您的 youtube 频道,请转到用户 link(YouTube 用户面板 link);在那里你会找到主页、视频、播放列表、频道等。希望对你有所帮助。

您不应将 youtube-url 添加到您的起始网址,而只能添加到您的关注模式。这样,抓取工具不会从上到下抓取 Youtube,但会抓取您在 Feed 中提供的 URL。但是,如果 GSA 在已抓取的页面上找到 URL,它显然也会抓取那些。 一个选项是收紧跟随模式。当然,您可以在 Google 适配器框架上开发 Youtube 连接器,这对 Java- 开发人员来说并不难!

对于希望使用 Youtube api 并将其视频推送到 GSA 的任何其他人,我们发现需要对提要进行一些更改。

feedtype 需要 full 在 xml.This 告诉 GSA 它需要知道的关于内容的一切在 xml 中,不需要出去索引 url.

您需要在 xml 中有一个 <content> 节点。我们使用来自 Youtube api 的描述作为值。这是在搜索结果中向用户显示的内容

记录上的

url 属性 需要是可以添加到 GSA 设置中的开始和阻止 URL 和跟随模式的值它必须是独一无二的。这些实际上不需要存在,但 GSA 将在 xml 中使用此值来确定它是否应包含在索引中。我们使用了伪造的 url 并附加了来自 Youtube 视频 ID 的值以使其独一无二

displayurl 属性将是将显示在结果中的 url,因此它将具有实际的 youtube url。

Start 和 Block URLs 应包含一般 url 属性值。对我们来说,这是假目录 http://www.yourdomain.com/video/youtube/

Follow Pattern 应包含与 Start URL 匹配的要遵循的模式。因为我们在该目录中只有视频,所以我们可以输入与 Start URL 相同的值。如果您指向一个真实的目录并且其中有其他您不想索引的内容,您可能需要添加视频常见的任何模式。

示例记录如下。一旦我们更新了 Feed,添加了 Start 和 Block URL,我们的视频就会出现在我们的搜索结果中。

<gsafeed>
    <header>
        <datasource>youtube</datasource>
        <feedtype>full</feedtype>
    </header>
    <group action="add">
        <record url="http://www.yourdomain.com/video/youtube/?VIDEOID" displayurl="https://www.youtube.com/watch?v=VIDEOID" mimetype="text/html">
            <content><![CDATA[DESCRIPTION]]></content>
            <metadata>
                <meta name="Title" content="TITLE OF VIDEO"></meta>
                <meta name="Published" content="2016-08-15T22:00:38.000Z"></meta>
                <meta name="PhotoURL" content="https://i.ytimg.com/.."></meta>
            </metadata>
        </record>
</group>
</gsafeed>