提要协议实现和搜索集成
项目描述
概述
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)
首次公开发布。