eos/elasticsearch-7-connector

一个针对Elasticsearch 7的抽象PHP连接器

1.2.1 2020-02-04 09:41 UTC

This package is auto-updated.

Last update: 2024-09-04 19:18:07 UTC


README

一个针对Elasticsearch 7的抽象PHP连接器。

composer require eos/elasticsearch-7-connector

如何使用?

这个库提供具有基本功能的抽象类。您的域类(例如存储库、事件处理程序或命令处理器)应该扩展 AbstractConnector 或,如果您想使用并行索引,则扩展 AbstractParallelIndexConnector

抽象类提供的方法

所有方法都定义为受保护的,并设计用于在您的扩展类中内部使用。

AbstractConnector:

AbstractParallelIndexConnector:

依赖关系

AbstractConnector 需要一个 ConnectionFactoryInterface 实例和一个 IndexDefinerInterface 实例(AbstractParallelIndexConnector 替代需要 ParallelIndexDefinerInterface)。

可选地,您可以提供一个 bulkSize。如果 bulkSize(默认为0)大于1,则将执行给定的大批量请求,而不是为每个存储操作执行单个请求。

ConnectionFactoryInterface

连接工厂负责创建 Elasticsearch\Client 实例。

ConnectionFactoryInterface 提供的实现是 SimpleConnectionFactory,它将单个 (!) dsnscheme://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"