跳转到主要内容

与CastleCMS和Plone的OpenSearch集成

项目描述

wildcard.hps

使用 OpenSearch 与CastleCMS和Plone集成

该产品是从 collective.elasticsearch 分叉的,以便提供与OpenSearch的集成,而不是ElasticSearch。OpenSearch本身是ElasticSearch的一个分支,与至少ES 7.10.x系列的发布(至少在opensearch-py 1.1.0)兼容。兼容性可能会在未来发生变化,尽管collective.elasticsearch包可能会尝试保持与ElasticSearch的兼容性,但wildcard.hps旨在保持与OpenSearch的兼容性。

快速入门

首先,启动一个实例(有关官方指南,请参阅opensearch项目文档

$ docker run -p 9200:9200 -p 9600:9600 -e "discovery.type=single-node" opensearchproject/opensearch:latest
$ curl -XGET https://127.0.0.1:9200 -u 'admin:admin' -k

其次,设置Plone/CastleCMS

  1. wildcard.hps添加到您的buildout的eggs部分
  2. 运行buildout
  3. 重启您的实例,使用相关的环境变量连接到您的opensearch实例
  4. 安装'Wildcard HPS'产品
  5. 在'Wildcard HPS'控制面板中,点击'转换目录'然后'重建目录'

配置设置作为环境变量传递。有关更多详细信息,请参阅下面的"配置"部分。

概述

此软件包旨在索引所有portal_catalog索引的字段,并允许您删除标题描述可搜索文本索引,这可以在性能和RAM使用方面提供显著改进。

仅在标题、描述和可搜索文本文本包含在查询中时使用OpenSearch查询。否则,将使用Plone的默认目录。这是因为Plone的默认目录在正常查询方面比使用OpenSearch更快。

配置

通过环境变量完成对OpenSearch连接和自定义索引命名的配置。这允许按实例进行自定义,无需修改站点数据,并允许多个部署使用相同的集群(s)而无需需要对每个站点进行自定义索引名称。

可用的环境变量选项

  • HPS_ZOPE_CONF_PATH
    • 获取Zope应用程序实例的zope.conf路径
    • 注意:这仅适用于安装的reindex_hps脚本。请参阅wildcard/hps/scripts/reindex.py
  • HPS_OVERRIDE_LOGGING
    • 如果存在,将通知reindex_hps脚本覆盖根日志配置,并将日志打印到控制台,级别为INFO。
  • HPS_FORCE_ENABLE
    • 默认值:否
    • 接受的值(所有其他值都相当于False):是,True,1,开
    • 将强制"启用"查找为True
  • HPS_INSTANCE_INDEX_PREFIX
    • 默认值:None
    • 一个字符串值,作为此插件安装到Plone实例中使用的索引名称的前缀
  • HPS_INCLUDE_TRASHED_BY_DEFAULT
    • 默认值:否
    • 接受的值(所有其他值都相当于False):是,True,1,开
    • 将默认搜索结果包括已删除的条目(默认情况下不包括)
  • HPS_FOCE_EXTERNAL_INDEXES
    • 默认值:None
    • 一个对象属性列表,将包含在外部索引对象中(即opensearch中索引的对象)
  • OPENSEARCH_HOSTS
    • 默认值:https://admin:admin@localhost:9200
    • 一个RFC-1738格式化的URL列表。可以通过在URL之间放置空格来指定多个URL。
    • 注意:目前,opensearch-py(1.1.0)不尊重作为URL部分格式化的HTTP认证信息,请使用OPENSEARCH_HTTP_USERNAMEOPENSEARCH_HTTP_PASSWORD将相同的HTTP认证传递给任何节点上的请求。
  • OPENSEARCH_HTTP_USERNAME
    • 默认值:None
    • OPENSEARCH_HOSTS列表中的任何节点上的所有连接中使用的用户名
  • OPENSEARCH_HTTP_PASSWORD
    • 默认值:None
    • OPENSEARCH_HOSTS列表中的任何节点上的所有连接中使用的密码
  • OPENSEARCH_TIMEOUT
    • 默认连接超时
  • OPENSEARCH_RETRY_ON_TIMEOUT
    • 默认值:关闭
    • 接受的值(所有其他值都相当于False):是,True,1,开
    • 当连接失败时,将重试连接到不同的节点
  • OPENSEARCH_SNIFF_ON_START
    • 默认值:False
    • 接受的值(所有其他值都相当于False):是,True,1,开
    • 在执行任何操作之前刷新节点
  • OPENSEARCH_SNIFF_ON_CONNECTION_FAIL
    • 默认值:False
    • 接受的值(所有其他值都相当于False):是,True,1,开
    • 在节点无法响应后刷新节点
  • OPENSEARCH_SNIFFER_TIMEOUT
    • 默认值:None
    • 在此时间间隔内刷新节点列表(以秒为单位)
  • OPENSEARCH_SNIFF_TIMEOUT
    • 默认值:0.1
    • 嗅探请求的超时时间
  • OPENSEARCH_USE_SSL
    • 默认值:False
    • 接受的值(所有其他值都相当于False):是,True,1,开
    • OpenSearch连接将使用SSL
  • OPENSEARCH_VERIFY_CERTS
    • 默认值:True
    • 接受的值(所有其他值都相当于False):是,True,1,开
    • 在使用SSL连接到OpenSearch时验证SSL证书
  • OPENSEARCH_SSL_SHOW_WARN
    • 默认值:True
    • 接受的值(所有其他值都相当于False):是,True,1,开
    • 当禁用SSL证书验证时,默认将显示警告
  • OPENSEARCH_CERTS_PATH
    • 默认值:None
    • 包含用于SSL验证的CA证书的目录的路径
  • OPENSEARCH_CLIENT_CERT_PATH
    • 默认值:None
    • SSL客户端认证的PEM格式SSL客户端证书的路径
  • OPENSEARCH_CLIENT_CERT_KEY --
    • 默认值:None
    • SSL客户端认证的PEM格式SSL客户端密钥的路径

兼容性

仅与Plone 5和Dexterity类型进行了测试。

仅与与opensearch-py库兼容的OpenSearch(和ElasticSearch)版本兼容。

有关ElasticSearch集成,请参阅collective.elasticsearch

状态

除了DateRecurringIndex索引列类型外,对所有索引列类型的支持已完成。如果你在包含DateRecurringIndex列的查询中进行全文搜索,它将不起作用。

Celery支持

此软件包包含Celery支持,其中所有索引操作都将推送到celery以异步运行。

有关集体.celery的使用说明,请参阅。

运行测试

首先,启动OpenSearch实例。

其次,

$ virtualenv ./env
$ ./env/bin/pip install -r requirements.txt
$ ./env/bin/buildout -c buildout.cfg
$ ./bin/test

变更日志

1.4.4 (2023-10-11)

  • 缺少'.items()'

1.4.3 (2023-10-11)

  • 处理来自IAdditionalIndexDataProvider适配器的索引数据的Unicode,并处理元组、列表和字典值

1.4.2 (2023-05-15)

  • 为获取索引数据时的钩子抽象Unicode处理代码,并处理元组、列表和字典值

1.4.1 (2023-05-11)

  • 处理Unicode错误并在获取索引数据时的钩子中修复错误

1.4.0 (2022-11-04)

  • 允许定义自定义前缀以从环境获取连接设置(默认为之前的硬编码'OPENSEARCH_'值)

1.3.0 (2022-08-17)

  • 添加HPS_FORCE_EXTERNAL_INDEXES
  • 更新尚未配置外部索引设置时的默认设置

1.2.1 (2022-06-23)

  • 修复控制面板模板中的某些视图名称

1.2.0 (2022-05-25)

  • 添加HPS_INCLUDE_TRASHED_BY_DEFAULT环境变量以禁用从WildcardHPSCatalog的searchResults过滤器(请参阅readme中的HPS_INCLUDE_TRASHED_BY_DEFAULT条目)

1.1.1 (2022-05-12)

  • 为wildcard.hps.opensearch.WildcardHPSCatalog添加实例前缀属性

1.1.0 (2022-05-12)

项目详情


下载文件

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

源分布

wildcard.hps-1.4.4.tar.gz (43.5 kB 查看哈希值)

上传时间:

支持者

AWS AWS 云计算和安全赞助商 Datadog Datadog 监控 Fastly Fastly CDN Google Google 下载分析 Microsoft Microsoft PSF 赞助商 Pingdom Pingdom 监控 Sentry Sentry 错误记录 StatusPage StatusPage 状态页面