跳转到主要内容

Solr集成,用于外部索引和搜索。

项目描述

collective.solr - Plone CMS 的 Solr 集成

https://github.com/collective/collective.solr/workflows/collective.solr%20CI/badge.svg https://coveralls.io/repos/collective/collective.solr/badge.svg?branch=master Latest Version Egg Status License

collective.solrSolr 搜索引擎与 Plone 集成。

Apache Solr 基于 Lucene,是企业级开源搜索引擎。它为 Twitter、苹果和 iTunes 商店、维基百科、Netflix 等网站提供搜索功能。

Solr 不仅能够扩展到任何规模的内容,还提供了丰富的搜索功能,如分类、地理空间搜索、建议、拼写纠正、二进制格式的索引以及一系列强大的工具来配置自定义搜索解决方案。它集成了集群和负载均衡,以提供高可靠性。

collective.solr 包含默认的 Solr 配置和设置,使其启动极其简单,但与 Plone 的基于 ZCTextIndex 的集成文本搜索相比,提供了更高的搜索质量。

特性

Solr 特性

  • Schema 和 Schemaless 配置

  • 信息检索系统

  • 速度(与 ZCTextIndex 相比)

Plone 中 Solr 集成的特性

搜索增强

  • 分类

  • 二进制文档索引

  • 拼写检查/建议

  • 通配符搜索

  • 排除搜索

  • 高程

详细文档

Plone 的 Solr 集成详细文档可以在 collectivesolr.readthedocs.org 上找到。

安装与配置

从 github 下载最新的默认 Solr 配置

$ wget https://github.com/collective/collective.solr/raw/master/solr.cfg
$ wget https://raw.githubusercontent.com/collective/collective.solr/master/solr-4.10.x.cfg

扩展您的 buildout 以使用这些文件,并确保在实例部分添加了 collective.solr。您的完整 buildout 文件可能看起来像这样

[buildout]
parts += instance
extends =
    https://dist.plone.org/release/4.3.8/versions.cfg
    solr.cfg
    solr-4.10.x.cfg

[instance]
recipe = plone.recipe.zope2instance
http-address = 8080
user = admin:admin
eggs =
    Plone
    collective.solr

[versions]
collective.recipe.solrinstance = 5.3.2

将此保存到例如 buildout.cfg 后,可以运行 buildout 并启动 Solr 服务器和 Plone 实例

$ python bootstrap-buildout.py
$ bin/buildout
...
$ bin/solr-instance start
$ bin/instance start

接下来,您应该在 Plone 的插件控制面板中激活 collective.solr (站内搜索) 插件。激活后,应检查新 Solr 设置 控制面板中的设置。要索引所有内容到 Solr,可以调用提供的维护视图

https://127.0.0.1:8080/plone/@@solr-maintenance/reindex

ZCML 中的 Solr 连接配置

Solr 的连接设置可以在 ZCML 中配置,因此可以在 buildout 中配置。这使得在多个 Zope 实例之间复制数据库时更加容易,这些实例具有不同的 Solr 服务器。

示例

zcml-additional =
    <configure xmlns:solr="http://namespaces.plone.org/solr">
        <solr:connection host="localhost" port="8983" base="/solr/plone"/>
   </configure>

当前项目状态

代码在许多网站上用于生产,并被认为是稳定的。此插件可以安装到 Plone 4.3(或更高版本)站点中,以启用使用 Solr 的索引操作以及搜索(站内和实时搜索)。这样做不仅可以显着提高搜索质量和性能 - 尤其是在大量索引对象的情况下,还可以通过允许您从目录中删除 SearchableTextDescriptionTitle 索引以及(如果未使用其他索引)词典来减少您的 Plone 实例的内存占用。

在包含10万个及以上内容对象的较大网站上,使用ZCTextIndex进行搜索通常需要10秒或更长时间,并需要大量的ZODB缓存内存。Solr通常可以在10毫秒到50毫秒内回答这些请求,此时网络延迟和Plone页面模板的渲染速度成为更主要的因素。

Plone 兼容性

collective.solr与Plone 5.2和Plone 6兼容。

Python 兼容性

collective.solr与Python 3.8和3.9兼容。旧版本可能仍然可以使用,但我们没有对其进行测试。

Solr 兼容性

collective.solr与Solr 7、8和9兼容。旧版本可能也可以使用,但我们没有对其进行测试。

错误报告与开发

可以在Python包索引中找到发行版,网址为https://pypi.ac.cn/project/collective.solr。代码和问题跟踪器可以在GitHub上找到,网址为https://github.com/collective/collective.solr

有关未解决的问题和尚未实现的功能,请参阅问题跟踪器

变更日志

9.3.0 (2024-02-15)

  • 添加https连接支持[remdub]

  • 添加法语地区[remdub]

9.2.3 (2024-02-07)

  • 添加升级步骤以解决缺失的停用词注册条目[remdub]

9.2.2 (2024-02-06)

  • 允许在停用词配置中使用开头的空格[reebalazs]

9.2.1 (2024-02-01)

  • 修复null值的索引[reebalazs]

9.2.0 (2024-01-31)

  • 防止在简单表达式中使用停用词的通配符表达式[reebalazs]

9.1.4 (2023-06-09)

  • 从可搜索文本中去除独立的通配符(#362)[reebalazs]

9.1.3 (2023-04-11)

  • 修复多值字段中集合值的索引[reebalazs]

9.1.2 (2023-03-20)

  • 修复showinsearch字段的EN/DE描述[tisto]

9.1.1 (2023-03-09)

  • 修复在没有值时图像_scales元数据的反序列化[mpeeters]

  • rows限制为1000000000;更高的值可能导致solr出现NumberFormatException异常[tisto, davisagli]

9.1.0 (2023-03-07)

  • 添加对Python 3.10的支持[tisto]

  • 修复FlareContentListingObject中图像_scales元数据的反序列化[davisagli]

9.0.1 (2023-01-31)

  • 修复当它包含在模式中时图像_scales元数据的序列化[davisagli]

9.0.0 (2022-12-19)

9.0.0a8(2022-04-27)

  • 当Tika启用时,如果内容类型没有提供主字段,则不会失败[tisto]

9.0.0a7(2022-04-21)

错误修复

  • 修复搜索中的多部分错误[reebalazs]

9.0.0a6(2022-03-21)

新功能

  • 通过使用core参数,允许在同一服务器上的多个SolR核心上进行搜索[mpeeters]

错误修复

  • 修复搜索结果中Access inactive portal content权限的检查。现在它还考虑了本地权限(例如共享),而不仅仅是网站范围的权限[laulaz]

  • 修复同步和索引过程中blob缺失时的事务中止

9.0.0a5(2022-01-15)

破坏性变更

  • 使用“content”作为Tika索引的默认字段,而不是“SearchableText”[tisto]

新功能

  • 添加新的tika_default_field设置[tisto]

内部

  • 远程utf-8编码行[tisto]

  • 排序Python导入[tisto]

9.0.0a4(2022-01-07)

新功能

  • 添加solr_cleanup和solr_sync命令行选项[tisto]

  • 添加包含命令行选项的维护文档[tisto]

9.0.0a3(2021-12-30)

新功能

  • 允许使用环境变量用于SolR配置[mpeeters]

错误修复

  • 重命名身份验证字段以避免与密码管理器的问题[mpeeters]

9.0.0a2(2021-12-29)

新功能

  • 添加通过Tika上传二进制文件的选项,而不是依赖于通过文件系统访问blob[timo]

  • 添加SolR基本身份验证支持[mpeeters]

内部

  • 在代码中删除plone.app.contenttypes条件[timo]

  • 移除 collective.js.showmore 依赖项 [timo]

  • 移除代码中的 plone.app.contenttypes 条件语句 [timo]

  • 移除 collective.indexing 的痕迹 [timo]

  • 移除 Plone 4.3 GS 配置文件 [timo]

  • 移除 AT 条件语句 [timo]

  • 从测试层中移除 collective.indexing 和 LinguaPlone [timo]

  • 在默认的 dev/testing buildout 中使用 Solr 8 代替 Solr 7 [timo]

  • 将 black/flake8 代码分析添加到 gha [timo]

9.0.0a1 (2021-11-19)

破坏性变更

  • 放弃与 Python 2、Plone 4.3、Plone 5.0、Plone 5.1 的兼容性 [timo]

新功能

  • 添加对 Plone 6 / Volto 的支持 [timo]

8.4.2 (2021-04-08)

  • 修复在查找未知数据时的内容列表 [csenger]

8.4.1 (2020-12-16)

  • 通过强制简单搜索修复“AssertionError:term 不是简单搜索”错误 [csenger]

8.4.0 (2020-09-10)

  • 添加 solr_activate 和 solr_deactivate 命令行脚本 [timo]

8.3.0 (2020-08-31)

  • 移除对数字通配符搜索的限制 [csenger]

8.2.0 (2020-08-28)

  • 添加一个选项以允许前缀通配符搜索 [csenger]

  • 修复 force_simple_search [csenger]

8.1.0 (2020-08-27)

  • 添加一个功能,强制在 SearchableText 上进行简单搜索,而不检查传递的文本 [csenger]

8.0.0 (2020-08-17)

  • Plone 5.2.2 兼容性 [timo]

8.0.0b1 (2020-06-12)

  • 对 Python3.8 的初始支持(见 #265) [ale-rt]

  • solr 的 IntPointField、FloatPointField、DatePointField 处理器 [adrianschulz]

8.0.0a12 (2020-03-30)

  • 修复 datetime 索引中的毫秒管理 [odelaere]

8.0.0a11 (2020-03-27)

  • 通过避免索引空值修复 getObjPositionInParent 索引 [mpeeters]

8.0.0a10 (2020-03-25)

  • 修复具有 integerfloat 值的查询 [mpeeters]

8.0.0a9 (2020-03-24)

  • 正确处理包含 python datedatetime 对象的查询 [mpeeters]

  • 正确实现 actual_result_count 属性设置器 [mpeeters]

8.0.0a8 (2020-03-24)

  • 添加对“not”查询的支持 [mpeeters]

8.0.0a7 (2020-03-06)

  • 修复 Tika 的 BinaryAdder,较新的 Solr 版本期望 json,因此我们必须在 BinaryAdder 中设置 wt=xml [timo]

8.0.0a6 (2020-02-28)

  • 修复索引包含非 ASCII 字符的索引主题。 [mathias.leimgruber]

8.0.0a5 (2019-12-17)

  • 使用名为“solr.fields”的行为而不是“collective.solr.behaviors.ISolrFields”。 [timo]

8.0.0a4 (2019-11-28)

  • 从“Solr 扩展”行为注册中移除多余的 for 属性。 [timo]

8.0.0a3 (未发布)

错误修复

  • 将“Plone 5.2”和“Python 3.7”分类器添加到 setup.py 中。 [timo]

  • 将 log.warn 替换为 log.warning 以避免弃用消息。 [timo]

8.0.0a2 (2019-11-25)

错误修复

  • 从 setup.py 中的依赖项中移除 ZODB 和 Zope2。这在 Plone 5 中破坏了 collective.recipe.plonesite。 [timo]

8.0.0a1 (2019-08-22)

新功能

  • Plone 5.2 兼容性 [jnns, reinhardt, csenger, timo]

  • Python 3 兼容性 [jnns, reinhardt]

  • Solr 8 兼容性 [timo]

  • 添加地理空间搜索过滤器。 [timo, csenger]

错误修复

  • 如果 Plone >= 5.1,则不要使用 collective.indexing,Products.CMFCore 提供了所有功能。 [jnns]

  • 撤销 7.0.0a2 版本中的“索引评论” [timo]

7.0.0a2 (2019-03-21)

新功能

  • 索引评论。 [gforcada]

7.0.0a1 (2019-02-08)

新功能

  • Plone 5.1 兼容性 [timo, jaroel]

  • Solr 7 兼容性 [timo]

错误修复

  • 将 plone.protect 依赖项设置为可选。 [timo]

  • 修复测试以与最新的 collective.indexing 一起工作。 [gforcada]

  • 修复按标题排序。排序在分词字段上不起作用。添加一个 sortable_title 字段 [csenger]

  • 修复在内容格式错误(xml 解析)的情况下完全重新索引失败 [sauzher]

  • 在搜索表单上实现延迟,以避免对每个单个按键都启动搜索 [sauzher]

6.0a2 (2017-07-17)

  • 修复 React 小部件,在获取 @search 端点时添加 cookie [sneridagh]

  • 处理查询中的非 ASCII 值。 [reinhardt]

  • solr.cfg:分别配置 JMX 主机和端口。 [maurits]

  • 在我们的控制面板中添加了Solr同步链接。为所有四个维护链接添加了标题,简要说明了它们的功能。[maurits]

  • 添加了注册表升级步骤以升级到5.0.3版本。否则,在搜索视图中您会得到KeyError: collective.solr.facets。在控制面板上,您会得到另一个KeyError: ‘接口 collective.solr.interfaces.ISolrSchema 定义了一个字段 index_timeout,但没有记录。’请注意,这将重置您的配置。在您更新buildout到collective.solr 6之前,可能想先截图您的当前配置。参见https://github.com/collective/collective.solr/issues/155 [maurits]

  • 在solr中实现重新索引路径索引。这意味着在solr path_string、path_parents 和 path_depth 上更新 obj.reindexObject(idxs=[‘path’])。[mathias.leimgruber]

  • 移除实验性的lazycatalog monkey patch,让SolrResponse 继承自 ZCatalog Lazy 类。[tomgross]

  • 移除对Archetypes的硬依赖。[tomgross]

  • 实现 searchwordsshowinsearch 作为 Dexterity 行为。[tomgross]

  • 更新了德语翻译。[tomgross]

6.0a1 (2016-10-11)

  • Plone 5 兼容性 [timo, tomgross, sneridagh, gforcada]

  • 新ReactJS 基于的搜索UI [timo, sneridagh]

  • 增强脚本现在可通过控制面板访问。[tomgross]

  • 为Solr重新索引添加ignore_exceptions选项。当从命令行运行solr_reindex时,此选项默认为true。[tschorr]

5.0.3 (2016-06-05)

  • 修复Pypi页面。[timo]

5.0.2 (2016-06-04)

  • 修复README格式。[timo]

5.0.1 (2016-06-04)

  • 修复在索引新文件时发生的BlobError(修复#120)[tomgross]

  • 将提取二进制内容中的文本和索引分成2步(#65)[tomgross]

  • 在输入多个搜索词时使建议搜索正常工作。[jcharra]

  • 修复字段列表导出。[gforcada]

5.0 (2016-04-13)

注意:此版本需要您更新Solr配置并执行完整重新索引。确保将“updateLog = true”添加到“solr-instance”buildout部分。有关工作示例,请参见https://github.com/collective/collective.solr/blob/master/solr.cfg。[maurits]

  • 从 ftw.solr 迁移原子更新。这需要您更新solr配置,加载新的solr配置,并执行完整重新索引。有关更多信息,请查看“特性”部分。该特性由[lgraf]在 ftw.solr 中实现。[mathias.leimgruber]

  • 在搜索请求中添加对不同请求处理器的支持。[buchi]

  • solr.cfg 已从 https://github.com/collective/collective.solr/raw/master/buildout/solr.cfg 移至 https://github.com/collective/collective.solr/raw/master/solr.cfg。[timo]

  • 添加可配置的SolrLayer以进行单元测试Solr配置。[timo]

  • 使CollectiveSolrLayer可配置,以便测试不同的核心。[timo]

  • 为搜索实用程序添加上下文。这允许查询在AJAX调用中使用。[tomgross]

  • 在拼写检查请求中使用GET方法(因为它是一个幂等的请求,不会影响服务器状态)[reinhardt]

  • 添加zopectl.command用于重新索引。不要依赖于_get_site中的位置参数。[tschorr]

  • 将内联函数移出全局作用域以使其更易于阅读。[gforcada]

  • 统一由collective.solr引发的全部异常。[gforcada]

  • 在重新索引时软提交更改。这允许在重新索引进行时获取搜索结果。[gforcada]

4.1.0 (2015-02-19)

  • Pep8。[timo,do3cc]

  • 重构测试。测试现在基于plone.app.testing。您现在可以使用Fixture COLLECTIVE_SOLR_FIXTURE和工具方法collective.solr.testing:activateAndReindex()来测试您的代码与solr一起使用。[do3cc]

  • 重构ISearch。方法buildQuery已被buildQueryAndParameters取代。责任已分为搜索视图和工具类,现在它们都在搜索工具类中。如果您之前使用了该方法,请分析collective.solr.dispatcher:solrSearchResults从4.0.3到4.1.0的变化。您可能从这些变化中受益。[do3cc]

  • 将“actual_result_count”属性添加到SolrResponse中,以模拟目录属性。[cekk]

  • 添加browserlayer支持(带升级步骤)[cekk]

  • 使用公开方法获取blob路径(修复了维护/重新索引中的错误)[tomgross]

  • 修复BinaryAdder中的UnicodeError [tomgross]

  • 添加ignore_portal_types和only_portal_types参数到维护视图的reindex [jkubaile]

4.0.3 (2014-06-18)

  • 将记录器级别设置为“从“info”回退到“max_results”为“debug”。[timo]

4.0.2 (2014-05-14)

  • 修复Binary Indexer中的错别字 [giacomos]

  • 修复facet搜索中的错别字 [tschorr]

  • 为review_state添加facet标题词汇工厂 [tschorr]

  • 为showinsearch索引器添加Dexterity支持 [timo]

  • 再次测试Solr 4.8.0。 [timo]

4.0.1(未发布)

  • 添加对solr.FloatField的支持。 [timo]

  • 将icon_expr从actionicons.xml移动到controlpanel.xml以避免弃用警告。 [timo]

4.0 (2014-01-08)

  • Solr 4.x兼容性。 [timo]

  • 对于不正确的日期字符串不失败。 [tom_gross]

  • 修复了to datetime和time的索引。 [Rodrigo]

  • 确保在solr中使用默认运算符“OR”。 [csenger]

  • 将limit选项添加到维护视图的reindex方法。 (从3.0.1版本开始,不包括在3.1中) [fschulze]

  • 通过zcml添加solr主机、端口和基础配置。这是从ftw.solr迁移过来的。[csenger, buchi]

  • 将max_results参数设置为默认值“10000000”,如https://wiki.apache.org/solr/CommonQueryParameters#rows中所述。这似乎在Solr 4中已更改。[timo]

  • 整合ftw.solr中的’suggest-terms’视图。目前还没有用户界面![timo, 4teamworks]

  • 添加plone.app.testing设置。[timo]

  • 为SearchableText支持模糊搜索。[csenger,timo]

  • 确保在搜索查询中正确转义斜杠。Solr 4.0添加了对正则表达式的支持,这意味着“/”现在是一个特殊字符,如果搜索的是文本中的正斜杠,则必须进行转义。[timo]

  • 为plone.app.contentlisting定义的FlareContentListingObject实现getDataOrigin方法,这是plone.app.search期望存在的。[timo]

  • 使用tika提取二进制内容。[tom_gross]

  • 搜索视图的Plone 4.3兼容性。[tom_gross]

  • 引入ICheckIndexable-适配器以检查对象是否可索引。[tom_gross]

  • 使用适当的i18n标签。[tom_gross]

  • 放弃对elementree的依赖(改为使用lxml)。[tom_gross]

  • 让getRID返回一个真实的整数(如ZCatalog)[tom_gross]

  • solrBase应该是一个字符串,修复了#8 [saily]

3.1 - 2013-02-16

  • 添加plone.app.contentlisting/plone.app.search的可选支持 [do3cc][csenger]

  • 添加对Python日期对象的datehandler支持。[jcbrand]

  • 添加对未索引None整数的inthandler支持。[do3cc]

3.0 - 2012-02-06

3.0b5 - 2011-12-07

  • 删除了solr_dump_catalog和solr_import_dump命令行脚本。它们过于依赖于内部结构,并存在细微的错误。[hannosch]

  • 在buildQuery中对参数进行排序,以获得测试输出的稳定排序。[hannosch]

  • 对未知字段的Solr细分查询将引发SolrException。[hannosch]

  • 更新示例配置到Solr 3.5。[hannosch]

  • 修复控制面板适配器以保存搜索模式为utf-8。[ggozad]

3.0b4 - 2011-11-10

  • 撤销unrestrictedSearchResults更改,因为它破坏了额外的目录,如membrane目录。[hannosch]

3.0b3 - 2011-11-09

  • 使维护同步视图与最新字段索引内部结构兼容。[hannosch]

  • 同时将 unrestrictedSearchResults 发送到 Solr 服务器。 https://github.com/Jarn/collective.solr/issues/5 [reinhardt, hannosch]

  • 调整搜索表单以更好地匹配太阳风比例。 [elro]

3.0b2 - 2011-10-05

  • 现在可以通过专门的词汇表提供分面标题。注册一个命名的 IFacetTitleVocabularyFactory 工具,它将用于获取具有相同名称的分面字段的词汇。 [mj]

3.0b1 - 2011-09-27

  • 将通配符搜索词处理扩展到进行 Unicode 到 ascii 折叠,以保持文本字段的默认字段设置。 [hannosch, mj]

3.0a5 - 2011-09-26

  • 不要将以数字结尾的搜索词视为 简单,因为 Solr 不处理数字的通配符搜索。 [hannosch]

  • 包含 CMFCore 的 permissions.zcml。 [witekdev, hannosch]

3.0a4 - 2011-08-22

  • 修复了 extender.searchwords 索引器中的错误 - 需要显式将术语转换为小写。 [hannosch]

3.0a3 - 2011-08-22

  • 将单词内部的连字符处理为字面量,而不是将其解释为文本字段的语法。 [hannosch]

  • 显式要求 Plone 4.1 / Zope 2.13。 [hannosch]

  • 依赖于新的 c.indexing 2.0a2。 [hannosch]

  • 添加了一个 archetypes.schemaextender 依赖项,并为所有提供 IATContentType 的对象注册了两个字段。 showinsearch 是一个布尔字段,可以用来隐藏特定内容项从搜索结果中。 searchwords 是一个行字段,允许您指定对象应包含的单词。 [hannosch]

  • solr 标准化为 i18n 域。 [hannosch]

3.0a2 - 2011-07-10

  • 调整 munin 配置以使用 FastLRUCache 以适应 c.r.solrinstance 3.5 的更改。 [hannosch]

  • 添加了 munin 配置,用于 /update/extract、直接更新处理器、查询缓存大小和预热时间、用于获取 Solr 架构的 admin 文件请求以及搜索器预热时间。 [hannosch]

  • 添加了关于在 :- 上拆分单词的测试。 [hannosch]

  • 更新示例配置以适应 Solr 3.3。 [hannosch]

  • getRID_unrestrictedGetObject 添加到我们的 flare 实现。 [hannosch]

  • 添加了有关使用 SolrReplication 支持设置主从配置的文档。 [hannosch]

  • 调整测试以与最新的 collective.recipe.solrinstance = 3.3 和其基于 ICU 的文本字段一起工作。 [hannosch]

3.0a1 - 2011-06-23

升级说明

  • 更改了用于模拟 path 索引的索引名称。您需要调整您的模式并将 physicalPath 重命名为 path_stringphysicalDepth 重命名为 path_depthparentPaths 重命名为 path_parents。这也需要完整的 Solr 重新索引以获取新数据。 [hannosch]

更改

  • 在示例模式中添加了 object_provides 索引,因为它用于集合部件以查找集合。 [hannosch]

  • 重写了 maintenance/sync 方法以提高性能,从其中删除了可选的 path 限制并删除了 cache 参数。它应该能够在几分钟内同步 100,000 个对象范围的数据集。 [hannosch]

  • maintenance/reindex 方法更改为仅将数据刷新到 Solr,而不是在每个批次后提交。相反,我们只在最后提交一次。您应该在 Solr 服务器端配置自动提交策略或 commitWithin。 [hannosch]

  • 调整了 mangleQuery 函数,从 Solr 架构而不是硬编码 path 计算扩展路径索引。如果您有任何其他扩展路径索引,您需要为索引器提供与我们在 attributes 模块中为 path 索引所使用的相同三个后缀相同的后缀,并将它们添加到 Solr 架构中。 [hannosch]

  • 添加了有关 Java 进程、监控生产设置以及包含多个有用的 munin 插件配置的文档。 [hannosch]

  • 更新示例配置以包括生产设置和 JMX。 [hannosch]

  • 更新示例配置以包括 collective.recipe.solrinstance 3.1 和 Solr 3.2。 [hannosch]

2.0 - 2011-06-04

  • 更新了README和项目描述,增加了关于Solr工作原理以及我们如何集成它的详细信息。[hannosch]

2.0b2 - 2011-05-18

  • 增加了对在catalogqueryplan中发现的Lazy回滚的支持。[hannosch]

  • 修复了LazyCat的__add__方法,将其更改为修补基类,因为该方法已移动。[hannosch]

  • 更新了测试配置以支持Solr 3.1,尽管应该支持但尚未在大量生产中使用。[hannosch]

  • 避免使用已弃用的five:implements指令。[hannosch]

2.0b1 - 2011-04-06

  • 重写isSimpleSearch函数以使用更简单的正则表达式,该表达式不具有O(2**n)缩放特性。[hannosch]

  • 使用标准库的doctest模块。[hannosch]

  • 修复了PloneFlare中的pretty_title_or_id方法;实现有误,现在委托给标准的Plone实现。[mj]

2.0a3 - 2011-01-26

  • solr_dump_catalog中正确处理布尔值和空文本字段。[hannosch]

2.0a2 - 2011-01-10

  • solr_dump_catalog命令中提供一个虚拟请求。[hannosch]

2.0a1 - 2011-01-10

  • utils.isWildCard中正确处理UTF-8编码的数据。[hannosch]

  • 优雅地处理索引数据检索过程中引发的异常。[tom_gross, hannosch]

  • 添加了三个新脚本的zopectl.command入口点。 solr_clear_index将从Solr中删除所有条目。solr_dump_catalog将有效地将目录内容转储到文件系统,而solr_import_dump将导入转储到Solr。这可以用于启动空的Solr索引或当提升逻辑更改时更新它。所有脚本将使用数据库中找到的第一个Plone站点,或者接受一个未命名的命令行参数以指定id。需要运行Solr服务器,并在Plone站点中配置连接信息。示例用法:bin/instance solr_dump_catalog Plone。在此示例中,数据将存储在var/instance/solr_dump_plone中。数据可以在机器之间传输,多次调用solr_dump_catalog将向现有转储追加新数据。要使Solr保持最新状态,您仍然需要调用@@solr-maintenance/sync。[hannosch, witsch]

  • 将搜索模式语法更改为使用str.format语法,并在模式中使{value}{base_value}可用。[hannosch]

  • 通过皮肤脚本添加了计算站点特定提升值的可能性。[hannosch, witsch]

  • 修复了除了以星号结尾的通配符模式之外的通配符搜索。[hannosch, witsch]

  • 要求Plone 4.x,声明包依赖关系并删除BBB位。[hannosch, witsch]

  • 为简单搜索添加了可配置的设置,允许包含具有特定提升值的多字段。[hannosch, witsch]

  • 在索引期间不要修改搜索参数。[hannosch, witsch]

  • 修复了自动提交支持,实际上将数据发送到Solr,但省略了提交消息。[hannosch]

  • 添加了对SOLR-793中提到的add消息的commitWithin支持。此功能需要Solr 1.4服务器。[hannosch]

  • 将404自动建议测试拆分为单独的文件,并在Plone 4下禁用它们 - 此功能不再是Plone的一部分。[hannosch]

  • 修复了处理Python 2.6中不同异常字符串表示的错误处理代码。[hannosch]

  • 使测试不依赖于Large Folder内容类型,因为它不再存在于Plone 4中。[hannosch]

  • 避免在Zope 2中使用不兼容的TestRequest从zope.publisher内部。[hannosch]

  • 修复了search.pt中的未定义变量,以实现Plone 4兼容性。[hannosch]

1.1 - 2011年3月17日发布

  • 如果无法访问字段,仍然进行索引。[tom_gross]

  • 修复了PloneFlare中的pretty_title_or_id方法;实现有误,现在委托给标准的Plone实现。[mj]

1.0 - 2010年9月14日发布

  • 启用多字段“fq”语句。[tesdal, witsch]

  • 防止记录“未知”的搜索属性,对于use_solr和著名的-C Zope启动参数。[witsch]

1.0rc3 - 2010年9月9日发布

  • 添加了对没有显式“rows”参数的查询的记录。[witsch]

  • 添加配置以排除用户从 allowedRolesAndUsers 中,以提高缓存性能。[tesdal, witsch]

  • 添加有效日期步长的配置。[tesdal, witsch]

  • 处理 datetimedate 对象。[do3cc, witsch]

  • 修复了 error.pt 中的语法错误。[hannosch]

1.0rc2 - 2010年8月31日发布

  • 修复了与空参数相关的目录回退回归问题。[tesdal, witsch]

1.0rc1 - 2010年7月30日发布

1.0b24 - 2010年7月29日发布

  • 修复了在 Solr flares 上使用 getObject 的安全问题,该功能在整个路径上使用了无限制的遍历,可能导致信息泄露。参见 http://plone.org/products/collective.solr/issues/27 [pilz, witsch]

  • 为 flares 添加了缺失的 CreationDate 方法。这修复了 http://plone.org/products/collective.solr/issues/16 [witsch]

  • 添加了对慢查询的记录,包括 Solr 报告的查询时间。[witsch]

  • 限制在实时搜索期间查找的匹配数量,以提高响应速度。[witsch]

  • 将批处理参数重命名为 b_startb_size,以避免与索引名称冲突并保持与现有模板代码的一致性。[do3cc]

  • 添加了一个新的配置选项 auto-commit,默认启用。您可以禁用此选项,以避免客户端向 Solr 服务器发送任何显式的提交消息。您需要在服务器端配置提交策略。[hannosch]

  • 添加了对特殊查询键 use_solr 的支持,该键强制将查询发送到 Solr,即使没有所需的键匹配。这可以用于将单个目录查询发送到 Solr。[hannosch]

1.0b23 - 2010年5月15日发布

  • 添加了对批处理的支持,即仅从 Solr 获取和解析当前处理的批处理中的项目。[witsch]

  • 修复了多词搜索词的运算符引号问题。[witsch]

  • 如果可用,使用 elementtree/xml.etree 的更快 C 实现。[hannosch, witsch]

  • 授予对搜索结果的受限代码访问权限,例如皮肤脚本。[do3cc, witsch]

  • 修复了查询多个路径时处理 'depth' 参数的问题。[reinhardt, witsch]

  • 当应使用筛选查询的所有参数时,不会中断。[reinhardt, witsch]

  • 始终为所有元数据列提供值,如目录所做的那样。[witsch]

  • 始终回退到门户目录以执行“navtree”查询,因此所需的查询参数集可以为空。这参考了 http://plone.org/products/collective.solr/issues/18 [reinhardt, witsch]

  • 防止在 32 位系统和 Solr 1.4 结合使用时解析 1000 A.D. 以前的日期时出现解析错误。[reinhardt, witsch]

  • 不要通过 reindex 维护视图处理具有自己的索引方法的内容,例如 reindexObject。[witsch]

  • 让查询构建器处理布尔主题标准等传递的可能布尔值集合。[hannosch, witsch]

  • 识别新的 solr.TrieDateField 字段类型,并以与处理较旧的 solr.DateField 相同的方式处理它。[hannosch]

  • 警告缺失的搜索索引和非存储的排序参数。[witsch]

  • 修复了重新索引具有空日期字段的对象时的问题。[witsch]

  • is_folderish 的默认模式更改为存储值。参考浏览器搜索期望在 brain 上找到它。[hannosch]

  • 修改了Solr管理器的通用设置导出/导入处理程序,使其忽略非持久性工具。[hannosch]

  • 添加了对LinguaPlone的支持。[witsch]

  • 更新了示例Solr buildout配置和文档,建议为Solr返回的最大搜索结果设置一个足够高的默认值。这参考了http://plone.org/products/collective.solr/issues/20 [witsch]

1.0b22 - 2010年2月23日发布

  • 分离出BaseSolrConnectionConfig类,用于注册非持久性连接配置。[hannosch]

  • 修复了关于超时锁定的错误。[witsch]

  • 将测试设置转换为collective.testcaselayer。[witsch]

  • 仅在实际上传更改到Solr时应用超时装饰器,并重新启用维护视图的查询参数使用。[witsch]

  • 如果Solr未激活,则需要将SearchDispatcher更改为使用原始方法。[hannosch]

  • 修改了searchResults monkey,以存储和使用类中找到的方法,而不是假设它来自基类。这使得与LinguaPlone一起使用,因为LinguaPlone也修复了这个方法。[hannosch]

  • 添加荷兰语翻译。[WouterVH]

  • 重构buildout以允许针对Plone 4.x运行测试。[witsch]

  • 优化首次填充Solr索引时的重新索引行为。[hannosch, witsch]

  • 仅在Plone 3.x上以旧方式注册可索引属性。[jcbrand]

  • 修复超时装饰器以正常工作。[hannosch, witsch]

  • 添加“z3c.autoinclude.plugin”入口点,以便在Plone 3.3+中避免加载ZCML文件。[hannosch]

1.0b21 - 2010年2月11日发布

  • 修复了取消索引,以避免从对象中获取比必要的更多数据。[witsch]

  • 使用装饰器锁定超时并确保锁始终释放。[witsch]

  • 修复了维护视图,使其在没有先设置Solr连接的情况下也能工作。[witsch]

1.0b20 - 2010年1月26日发布

  • 修复了重新索引,使其始终为架构中定义的所有字段提供数据,因为对“可更新/可修改文档”的支持仅计划用于Solr 1.5。有关更多信息,请参阅https://issues.apache.org/jira/browse/SOLR-139。[witsch]

  • 修复了与IE6中分面显示相关的CSS问题。[witsch]

1.0b19 - 2010年1月24日发布

  • 修复了部分重新索引,以保留不存储的索引的数据。[witsch]

  • 帮助改进自动刷新的日志记录,以便更容易地进行性能调整。[witsch]

1.0b18 - 2010年1月23日发布

  • 解决了与IE6中分面计数相关的布局问题。[witsch]

1.0b17 - 2010年1月21日发布

  • 不要混淆预配置的过滤器查询和分面选择。[witsch]

  • 始终显示选定的分面,尤其是在没有搜索结果的情况下。[witsch]

1.0b16 - 2010年1月11日发布

  • 删除了catalogSync维护视图,因为它需要从对象本身获取额外的数据(对于非存储索引)才能正确工作。[witsch]

  • 修复了reindex维护视图,以保留在部分索引期间无法从Solr获取的数据,即未存储的索引。[witsch]

  • 对简单搜索词使用通配符搜索,以反映Plone的默认行为。[witsch]

  • 修复了包含空白的分面值的钻取。[witsch]

  • 添加了对目录和Solr索引部分同步的支持。[witsch]

1.0b15 - 2009年10月12日发布

1.0b14 - 2009年9月17日发布

  • 修复了查询构建器,以使用显式的OR,从而使更改Solr的默认运算符为AND成为可能。[witsch]

  • 从搜索结果中删除相关性信息,因为这些信息对用户没有意义。[witsch]

1.0b13 - 2009年8月20日发布

  • 修复 reindexcatalogSync 维护视图,以防止在索引显式属性列表时将无效数据传回 Solr。[witsch]

1.0b12 - 2009年8月15日发布

  • 修复 reindex 维护视图,在索引给定属性列表时保留现有数据。[witsch]

  • 添加对维度的依赖支持:指定一个“foo”这样的维度“foo:bar”,只有当先前选择了一个“bar”的值时,它才会显示。[witsch]

  • 允许索引方法引发 AttributeError 以防止索引属性。[witsch]

1.0b11 - 2009年7月2日发布

  • 修复使用目录数据添加/同步单个索引的维护视图。[witsch]

  • 允许配置查询参数,以确定应使用哪些过滤器查询(有关更多信息,请参阅 http://wiki.apache.org/solr/FilterQueryGuidance)[fschulze, witsch]

  • 在构建维度链接时对 Unicode 字符串进行编码。[fschulze, witsch]

  • 修复维度显示,以尝试保持维度的给定顺序。[witsch]

  • 允许将维度值进行翻译。[witsch]

1.0b10 - 2009年6月11日发布

  • 范围查询不得使用新的查询解析器进行引号。[witsch]

  • 在维护任务期间禁用套接字超时。[witsch]

  • 搜索后关闭响应对象,以避免 ResponseNotReady 错误触发重复查询。[witsch]

  • 使用正确的方式访问 jQuery 并修复 IE6 语法错误。[fschulze]

  • 格式化搜索结果的相关性值。[witsch]

1.0b9 - 2009年5月12日发布

1.0b8 - 2009年5月4日发布

1.0b7 - 2009年4月28日发布

  • 修复在配置文件(重新)应用期间意外激活/禁用 Solr 集成的错误。[witsch]

  • 修复没有活动维度的维度信息显示。[witsch]

  • 使用 ZCML 注册导入和导出步骤。[witsch]

1.0b6 - 2009年4月20日发布

  • 添加对维度搜索的支持。[witsch]

  • 更新代码,以符合 PEP8 风格指南。[witsch]

  • 公开 Solr 提供的附加信息,例如关于标题和搜索维度的信息。[witsch]

  • 通过引号处理边缘情况,例如无效的范围查询。[tesdal]

  • 解析并引号查询,以过滤无效的查询语法。[tesdal]

  • 在 solrSearchResults 中,如果传入的请求是字典,则查找请求以启用适应 PloneFlare。[tesdal]

  • 添加了对具有“查询”属性的对象作为搜索值的支持。[tmog]

1.0b5 - 2008年12月16日发布

  • 修复并扩展了“同步”维护视图中的日志。[witsch]

1.0b4 - 2008年11月23日发布

1.0b3 - 2008年11月12日发布

  • 修复在检索架构期间的路由回退问题。[witsch]

  • 修复搜索时引号空格的问题。[witsch]

  • 使索引操作更健壮,以防架构缺失唯一键或无法解析。[witsch]

1.0b2 - 2008年11月7日发布

  • 使架构检索对网络故障的抵抗力略有提高,以免阻止对网站的访问。[witsch]

1.0b1 - 2008年11月5日发布

  • 首次发布 [witsch]

项目详情


发布历史 发布通知 | RSS 源

下载文件

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

源分发

collective.solr-9.3.0.tar.gz (359.9 kB 查看哈希值)

上传时间:

构建分发

collective.solr-9.3.0-py3-none-any.whl (368.5 kB 查看哈希值)

上传时间: Python 3

由以下组织支持