与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
- 将
wildcard.hps
添加到您的buildout的eggs
部分 - 运行buildout
- 重启您的实例,使用相关的环境变量连接到您的opensearch实例
- 安装'Wildcard HPS'产品
- 在'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_USERNAME
和OPENSEARCH_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)
- 最初从:https://github.com/collective/collective.elasticsearch/commit/d21bf7b9311a9fc923283eeff11c42f4145180b4分叉,此分叉旨在主要保持与OpenSearch项目的兼容性,该项目本身已从ElasticSearch 7.10分叉。
项目详情
wildcard.hps-1.4.4.tar.gz的哈希值
算法 | 哈希摘要 | |
---|---|---|
SHA256 | 5b7e391d436e6151db3e5e317a639f431dc86602401208c4af093a3fd1e23415 |
|
MD5 | b22fe46cb8537b10aeda65cc34491f65 |
|
BLAKE2b-256 | a691e09e945ac15e364670596c0731a8c18584501a5519d167fff32c6ceaa59f |