针对Emilia-Romagna地区的SOLR内容索引产品
项目描述
允许Plone网站进行SOLR索引/搜索的产品。
SOLR模式配置
此产品基于一些假设,并且SOLR模式需要进行特定的配置。
您可以在该产品的config文件夹中查看示例。
默认情况下,我们将所有基本Plone索引/元数据映射到SOLR,并附加一些额外字段
<field name="searchwords" type="string" indexed="true" stored="true" required="false" multiValued="true" termVectors="false" termPositions="false" termOffsets="false"/> <field name="showinsearch" type="boolean" indexed="true" stored="false" required="false" multiValued="false" termVectors="false" termPositions="false" termOffsets="false"/> <field name="url" type="string" indexed="false" stored="true" required="false" multiValued="false" termVectors="false" termPositions="false" termOffsets="false"/> <field name="site_name" type="string" indexed="true" stored="true" required="false" multiValued="false" termVectors="false" termPositions="false" termOffsets="false"/> <field name="path_depth" type="pint" indexed="false" stored="true" required="false" multiValued="false" termVectors="false" termPositions="false" termOffsets="false"/> <field name="path_parents" type="string" indexed="true" stored="true" multiValued="true"/> <field name="view_name" type="string" indexed="true" stored="true" required="false" multiValued="false" termVectors="false" termPositions="false" termOffsets="false"/> <field name="@id" type="string" indexed="false" stored="true" required="false" multiValued="false" termVectors="false" termPositions="false" termOffsets="false"/> <field name="@type" type="string" indexed="false" stored="true" required="false" multiValued="false" termVectors="false" termPositions="false" termOffsets="false"/> <field name="title" type="text_it" indexed="false" stored="true" required="false" multiValued="false" termVectors="false" termPositions="false" termOffsets="false"/>
以下关键字(searchwords,view_name,path_parents,path_depth,site_name)用于查询过滤和权重增强(见下文)。
showinsearch用于允许/禁止单个内容的索引。
url是一个索引,其中我们存储前端URL。
@id、@type和
title · Python 包索引 对于plone.restapi-like响应是必需的。
plone.restapi相关的元数据不是从Plone索引,但它们被复制到SOLR。
<copyField source="Title" dest="title"/> <copyField source="portal_type" dest="@type"/> <copyField source="url" dest="@id"/>
控制面板
Active:启用/禁用SOLR集成的标志。
Solr URL:SOLR核心URL。
要索引到SOLR的门户类型。
公开的前端URL。
schema.xml加载
SOLR字段直接从SOLR公开的schema.xml文件中读取。
出于性能原因,此模式存储在Plone注册表中,并在保存solr-controlpanel表单或单击“重新加载schema.xml”按钮时始终同步。
文件索引
如果Tika在SOLR上配置,您可以将其发送附件,它们将被索引为内容中的可搜索文本。
要允许附件索引,您需要为要索引的每个内容类型注册一个适配器。
File内容类型已经注册,因此您可以从那里复制。
<adapter for="plone.app.contenttypes.interfaces.IFile" provides="rer.solrpush.interfaces.adapter.IExtractFileFromTika" factory=".file.FileExtractor" />
from rer.solrpush.interfaces.adapter import IExtractFileFromTika from zope.interface import implementer @implementer(IExtractFileFromTika) class FileExtractor(object): def __init__(self, context): self.context = context def get_file_to_index(self): """ """ here you need to return the file that need to be indexed
注意:SearchableText索引应该是多值的。
搜索配置
在solr控制面板(/@@solrpush-settings)中,有一些字段允许管理员设置一些查询参数。
‘qf’指定一个字段列表,每个字段都分配一个权重因子,以增加或减少该特定字段在查询中的相关性。
例如,如果您想给予包含搜索文本的标题中的结果比文本中的更多相关性,您可以设置如下
title^1000.0 SearchableText^1.0 description^500.0
您也可以通过searchwords提升。
bq指定一个附加的、可选的查询子句,它将添加到用户的查询中,以影响评分。例如,如果我们想提高包含特定searchwords术语的结果的评分
searchwords:something^1000
Solr将提高包含“something”的搜索词字段的结果的排名。
bf指定用于构建FunctionQueries的函数(可选权重),这些函数将作为可选子句添加到用户的查询中,以影响评分。任何由Solr本地支持的函数都可以使用,以及一个权重值。例如,如果我们想降低树中较深的项目的重要性,我们可以设置如下
recip(path_depth,10,100,1)
path_depth是一个指数,用于计算对象的树级别。
集合
有两个新的集合标准,允许在集合中通过SOLR搜索。
使用SOLR进行搜索:如果选中,搜索将重定向到SOLR(默认始终在本地Plone站点上)。
站点:SOLR上的Plone站点索引列表。用户可以选择在哪些站点执行查询。如果没有设置站点(或未选择此标准),则默认搜索将仅在当前站点上执行。
还有一个定制的查询构建器,可以执行对SOLR或Plone目录的查询。
SOLR的结果将被封装在类似大脑的对象中,以与集合视图完全兼容。
开发buildout
在buildout中有一个solr配置(在conf文件夹中)和一个本地构建solr实例的配方。
要使用它,只需运行
> ./bin/solr-foreground
安装
将rer.solrpush添加到buildout
[buildout] ... eggs = rer.solrpush
并运行bin/buildout命令。
贡献
兼容性
此产品已在Plone 5.1和5.2上进行测试。
致谢
在Regione Emilia Romagna的支持下开发;
Regione Emilia Romagna支持PloneGov项目。
贡献者
RedTurtle,sviluppoplone@redturtle.it
变更日志
1.4.2 (2024-08-08)
如果solr未启用且未配置,则不破坏词汇表。[cekk]
1.4.1 (2024-07-29)
当出现错误时,引发自定义异常。[cekk]
1.4.0 (2024-05-05)
Plone6兼容性。[cekk]
1.3.3 (2023-11-08)
修复RSS源。[cekk]
1.3.2 (2023-11-08)
更新content_remove_error的翻译。[cekk]
1.3.1 (2023-08-01)
更新翻译。[cekk]
1.3.0 (2022-09-29)
添加search_enabled标志以临时禁用SOLR上的搜索。[cekk]
1.2.0 (2022-01-20)
自定义缩放视图以从远程内容获取图像(处理方向)。[cekk]
1.1.0 (2021-12-22)
添加路径信息的索引器。[cekk]
1.0.0 (2021-12-20)
修复提升逻辑。[cekk]
为提升添加不变验证。[cekk]
0.8.0 (2021-11-18)
SolrBrains现在如果原始内容有图像,可以返回img标签。[cekk]
0.7.1 (2021-10-14)
删除未使用的视图。[cekk]
0.7.0 (2021-10-14)
添加新标准:solr_portal_types以选择SOLR上索引的portal_types列表。[cekk]
在用户操作中也添加Elevate控制面板的链接。[cekk]
修复远程提升条件。[cekk]
0.6.4 (2021-09-27)
修复QueryBuilder创建查询的方式。[cekk]
0.6.3 (2021-09-21)
添加新功能:如果设置中启用了“查询调试”标志,则将SOLR查询显示给管理员。[cekk]
在示例schema.xml文件(开发和测试)中,将“searchwords”设置为小写类型,以实现不区分大小写的搜索。[cekk]
禁用facet.limit默认值(100)以获取所有分面。[cekk]
在Keywords词汇中使用swallow_duplicates以避免SimpleTerm初始化时截断字符串导致的重复标记。[cekk]
0.6.2 (2021-07-15)
在QueryBuilder中不转义查询,因为solr_search已经管理它们。[cekk]
0.6.1 (2021-06-10)
[修复]现在sort_on在QueryBuilder自定义中不再被忽略。[cekk]
[修复]在索引时,当不需要时从前端_url中删除/。[cekk]
0.6.0 (2021-05-20)
添加存储在SOLR中的主题的搜索标准。[cekk]
现在SOLRBrains还返回正确的内容类型图标。[cekk]
0.5.1 (2021-04-29)
修复发布。[cekk]
0.5.0 (2021-04-20)
在搜索调用中处理所有可能的异常。[cekk]
修复POST调用中的附件编码(再次)。[cekk]
在QueryBuilder中处理集合的多语言路径(使用导航根路径而不是门户路径)。[cekk]
0.4.1 (2021-03-26)
修复POST调用中的附件编码。[cekk]
0.4.0 (2021-03-25)
处理附件POST调用中的编码。[cekk]
0.3.4 (2021-03-18)
修复日志。[cekk]
0.3.3 (2021-03-15)
从控制面板中可选立即提交。[cekk]
0.3.2 (2021-02-15)
处理简单的日期时间。[cekk]
0.3.1 (2021-02-11)
修复tika索引参数:现在已正确索引修改和创建日期。[cekk]
0.3.0 (2021-02-09)
重构提升控制面板并使用collective.z3cform.jsonwidget。[cekk]
索引方面的一些改进。[cekk]
0.2.4 (2021-01-28)
修复维护视图中的逻辑。[cekk]
0.2.3 (2021-01-27)
修复维护同步视图。[cekk]
0.2.2 (2020-12-14)
修复python2中escape_special_characters方法中的编码问题。[cekk]
删除collective.z3cform.datagrifield依赖项并临时禁用提升控制面板。[cekk]
0.2.1 (2020-12-03)
在查询中修复当它们已经在“solr语法”中的日期索引。[cekk]
0.2.0 (2020-12-03)
为提升小部件添加样式[nzambello]
重构索引器逻辑[mamico]
在搜索中添加对bq和qf的支持[mamico]
使用tika索引文件。[cekk]
添加对集合的支持。[cekk]
在维护中静音嘈杂的solr日志。[cekk]
0.1.2 (2019-12-12)
删除查询的嘈杂记录器。[cekk]
0.1.1 (2019-12-12)
添加新索引:path_depth [cekk]
修复当网站名称带有重音符号时的Unicode错误。[cekk]
0.1.0 (2019-12-05)
初始发布。[cekk]
项目详情
下载文件
下载适用于您平台的文件。如果您不确定选择哪个,请了解更多关于安装包的信息。
源代码分发
构建分发
rer.solrpush-1.4.2.tar.gz的哈希值
算法 | 哈希摘要 | |
---|---|---|
SHA256 | 70d3b3a0f8c8ebea60995612cd4c2b3c3754396b64233f48f2da84284ea976d8 |
|
MD5 | 4a6f038eefa1573b9555900f0df44134 |
|
BLAKE2b-256 | 9294650871e7f39f8f99097551e504836d59c285e6eb6fba8928947ea2e83a1f |
rer.solrpush-1.4.2-py3-none-any.whl的哈希值
算法 | 哈希摘要 | |
---|---|---|
SHA256 | 5757c1d6b45c444124bdd434488ceb5756e2ebfd78156800590fe7555c11e6d7 |
|
MD5 | d3436809101ef2a2d9f3f8ce2f937e27 |
|
BLAKE2b-256 | a33798484e58d418b7d0ca348a21da70296ec451cb620fcae163cdb98b2e56f7 |