eos / elasticsearch-5-connector
适用于 elasticsearch 5 的抽象 PHP 连接器
Requires
- php: >=7.2
- elasticsearch/elasticsearch: ^5.0
This package is auto-updated.
Last update: 2024-09-16 02:13:11 UTC
README
适用于 elasticsearch 5 的抽象 PHP 连接器。
composer require eos/elasticsearch-7-connector
如何使用?
此库提供了具有基本功能的抽象类。您的域类(例如,仓库、事件处理器或命令处理器)应扩展 AbstractConnector 或,如果您想使用并行索引,则扩展 AbstractParallelIndexConnector。
抽象类提供的方法
所有方法都定义为受保护的,并设计用于在您的扩展类中内部使用。
AbstractConnector:
AbstractParallelIndexConnector:
依赖项
AbstractConnector 需要一个 ConnectionFactoryInterface 的实例和一个 IndexDefinerInterface 的实例(AbstractParallelIndexConnector 则需要 ParellelIndexDefinerInterface)。
您可以选择提供 bulkSize。如果 bulkSize(默认为 0)大于 1,则将执行具有给定批量大小的批量请求,而不是为每个存储操作执行单个请求。
ConnectionFactoryInterface
连接工厂负责创建 Elasticsearch\Client 的实例。
ConnectionFactoryInterface 的提供的实现是 SimpleConnectionFactory,它将单个 (!) dsn(scheme://host:port)作为构造函数参数。
IndexDefinerInterface
索引定义器提供包含/创建特定索引的 elasticsearch 定义的方法。
索引定义器可以提供多个索引定义,但每个类型只能有一个。
每种类型都将存储在自己的索引中。
如果您想为每种类型使用一个索引定义器,则您的索引定义器可以扩展 AbstractIndexDefiner 并添加到 IndexDefinerRegistry 的实例中。
如果您想将所有索引名称前缀为相同的基名称,则可以将 IndexDefinerRegistry 包装在 PrefixedIndexDefiner 的实例中(也可以将每个单个索引定义器包装在其自己的 PrefixedIndexDefiner 中或直接在索引定义器中定义完整的索引名称)。
Docker / Docker Compose
对于本地开发,可以创建并使用包含所有必需组件(php、composer)的 docker 容器
构建并启动容器
docker-compose up --build -d
在容器中执行命令(此处为 "composer install")
docker-compose exec app sh -c "composer install"