该软件包已被废弃,不再维护。未建议替代软件包。

提供可扩展实现的搜索界面

安装: 126

依赖: 1

建议者: 0

安全: 0

星标: 2

关注者: 2

分支: 1

开放问题: 0

类型:typo3-flow-package

dev-master 2019-08-26 08:39 UTC

This package is auto-updated.

Last update: 2019-08-26 08:39:55 UTC


README

!!已弃用!!

TechDivision.Search

该软件包为TechDivision.Neos.Search软件包提供接口。提供了两种不同的实现

Solr Rest

此实现使用默认的php curl扩展。在大多数情况下,您应使用此提供者。它与Apache Solr 4.x和3.6.x兼容

Solr 扩展

此实现使用solr php扩展

https://php.ac.cn/manual/en/book.solr.php http://pecl.php.net/package/solr

目前,php solr扩展仅与Apache Solr 3.6.x兼容!

添加其他搜索后端

搜索后端是完全可转换的。要添加搜索后端(mysql,OpenSearchServer等),只需在您的软件包中实现

\TechDivision\Search\Provider\ProviderInterface

。若要使用自己的提供者,例如与TechDivision.Neos.Search软件包一起使用,请查阅TechDivision.Neos.Search软件包的文档。

设计决策

我创建了一个专门的“搜索”软件包,以便有机会通过配置将后端逻辑更改为另一种逻辑。这样(对于基本需求),各种后端解决方案都可以使用通用文档和字段。此整个软件包是通过测试驱动开发创建的,代码覆盖率100%。一个主要范例是“关注点分离”,因此有许多小型类和具有小型方法的类。

测试

TechDivision.Search由100%的单元测试和功能测试覆盖。未覆盖

类中的“initializeObject”方法

TechDivision\Search\Provider\Solr\Extension\Provider

它初始化php solr扩展的solr客户端,这应由solr php扩展的开发者进行覆盖。

TechDivision\Search\Provider\Solr\Rest\CurlClient

它初始化php curl扩展。逻辑非常少。我可能会在将来找到测试它的解决方案。

还有一些其他方法未覆盖,这些方法不包含逻辑,仅用于TYPO3 Flow框架的依赖注入。这些应由框架进行覆盖,并在代码覆盖率中也忽略。

功能测试需要solr服务器!在我看来,单元测试比功能测试更有用。

功能测试目前不合适,TYPO3 Flow框架的最后更改几乎使以100%覆盖率覆盖代码变得不可能。在forge中已经为修复此问题创建了一个问题。

https://forge.typo3.org/issues/46974

为什么是这个命名空间?

到目前为止,这只是一个我在业余时间制作的非公司项目。我选择这个命名空间参加公司内部的竞赛。

许可证

这属于TYPO3 Flow包中的"TechDivision.Search"。

这是一款自由软件;您可以在GNU通用公共许可证的条款下重新分发或修改它,许可证版本可以是第3版或(根据您的选择)任何更新的版本。

版权(C)2013 Matthias Witte http://www.matthias-witte.net