Skip to main content

提要协议实现和搜索集成

项目描述

概述

Google Search Appliance 的 Plone 集成。

与克隆 4 兼容。

安装

使用 Plone 的设置工具安装配置文件:“集成到 Google Search Appliance”。

然后访问控制面板以配置您的设备。控制面板中还有用于自定义站点集成的各种设置。

为什么?

这个包的存在是为了提供 Plone 和 Google Search Appliance 服务之间的轻量级集成。它的理念是让设备代替 Plone 完成繁重的工作。“64”后缀对应于撰写本文时 Search Appliance 软件的版本:6.4。

Matous Hora 的collective.gsa包中有一个替代方案,它采用不同的方法,作为回报,它是一个更复杂的软件。该软件包还通过修补到默认门户目录中更紧密地与 Plone 集成。

目前的包——collective.gsa64——是关于站点搜索的。

馈送协议实现

该软件包带有Feed Protocol API的实现。创建、修改或删除启用了搜索的内容项(使用 Plone 的搜索控制面板进行配置)时,会向 Search Appliance 发送一个提要以更新状态。

有两种操作模式:web (为名为“web”的提要隐式启用)和url 和元数据模式(任何其他名称)。

第二种模式的元数据是使用 plone.htmlhead内容提供程序直接从 HTML 中提取的。因此,这直接对应于将使用爬网索引的元数据。

您可以使用站点控制面板启用包含标准都柏林核心 元数据。

ZCML 中呈现附加元数据的 viewlet 定义示例:

<browser:viewlet
    name="my-metadata-viewlet"
    for=".content.ISomeContentType"
    manager="plone.app.layout.viewlets.interfaces.IHtmlHead"
    template="my_metadata_viewlet.pt"
    permission="zope2.View"
    />

请注意,提要请求是在浏览器请求结束后发出的,不会延迟服务器响应。

搜索视图

安装脚本将Python 脚本对象添加到 id 为"search"的门户根目录。这接管了正常的皮肤查找并将遍历重定向到@@gsa-search视图。

您可以使用控制面板启用或禁用 Search Appliance 结果视图(和一般操作)。

结果视图默认使用包含的浏览器视图和模板生成,该模板生成类似于 Plone 自己的搜索结果视图的标记。但是,也可以将 XSLT 转换直接应用于 XML 结果文档并显示它。

对于自定义项目,可能需要对默认搜索视图实现进行子类化。这是一个修改后的查询示例:

from collective.gsa64.browser import search

class SearchView(search.SearchView):
    def build_query(self):
        query = super(SearchView, self).build_query()

        # always include hits for "plone"
        query['q'] = '(%s) OR plone' % query['q']

        return query

可能需要更改单个搜索结果的显示。您可以通过提供自己的搜索模板并填写“结果” METAL 槽来完成此操作:

class SearchView(search.SearchView):
    template = ViewPageTemplateFile("templates/search.pt")

    @property
    def master_search_template(self):
        return super(SearchView, self).template

templates/search.pt模板:

<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en"
      xmlns:tal="http://xml.zope.org/namespaces/tal"
      xmlns:metal="http://xml.zope.org/namespaces/metal"
      xmlns:i18n="http://xml.zope.org/namespaces/i18n"
      lang="en"
      metal:use-macro="view/master_search_template/macros/master">

  <metal:result fill-slot="result">

    <h4 tal:content="structure result/heading" />

  </metal:result>

</html>

每个结果对象都包含以下键:

  • 描述: HTML 文档描述

  • 标题:HTML 文档标题

  • url : 文档的显示 URL

  • 创造者:DC创造者价值

  • normalized_content_type:规范化克隆内容类型 id

  • metadata : 将元数据键映射到值的字典

内容类型过滤器

Plone 的标准类型未搜索设置通过浏览器视图“meta-robots”应用于 HTML 输出,该视图为从搜索中排除的内容类型呈现 noarchive元标记。

学分

该软件包由以下作者设计和开发。

  • 马尔特博奇

  • 穆斯塔法·贝纳利

开发由Headnet资助。

历史

1.0-beta4 (2011-11-30)

特征:

  • 添加了客户端功能的设置:

    KeyMatch、相关查询、过滤器等

    这些在控制面板中可用。[必须]

Bug修复:

  • 处理未安装产品的情况。[必须]

  • 处理描述或标题为空的情况。[必须]

  • 添加了浏览器层以通过设置启用浏览器组件。[必须]

1.0-beta3 (2011-01-10)

  • 从尝试呈现 HTML 元标记以用作元数据而导致的组件查找错误中恢复。

  • 禁用搜索结果过滤(至少在我们可以提供一个显示正常“我们已过滤您的结果”对话框的界面之前)。

  • 如果注册表不可用,则忽略事件处理程序(缺少 plone.app.registry的设置)。

  • 修复了由于尚未建立交互(例如在测试设置中)而导致checkPermission调用引发异常的问题。

1.0-beta2 (2010-12-20)

  • 如果 HTML 元标记没有内容属性,请将其从提要中删除。

1.0-beta1 (2010-12-17)

  • 首次公开发布。

项目详情


下载文件

下载适用于您平台的文件。如果您不确定要选择哪个,请了解有关安装包的更多信息。

源分布

collective.gsa64-1.0-beta4.tar.gz (37.0 kB 查看哈希

已上传 source