eos / elasticsearch-6-connector
Elasticsearch 6 的抽象 PHP 连接器
Requires
- php: >=7.2
- elasticsearch/elasticsearch: ^6.0
This package is auto-updated.
Last update: 2024-09-25 08:06:24 UTC
README
Elasticsearch 6 的抽象 PHP 连接器。
composer require eos/elasticsearch-6-connector
如何使用?
此库提供具有基本功能的抽象类。您的领域类(例如,仓库、事件处理器或命令处理器)应该扩展 AbstractConnector
或,如果您想使用并行索引,则扩展 AbstractParallelIndexConnector
。
抽象类提供的方法
所有方法都定义为受保护的,并设计为在您的扩展类中内部使用。
AbstractConnector
:
AbstractParallelIndexConnector
:
依赖项
AbstractConnector
需要一个 ConnectionFactoryInterface
的实例和一个 IndexDefinerInterface
的实例(AbstractParallelIndexConnector
取代需要 ParallelIndexDefinerInterface
)。
您可以提供 bulkSize
作为可选参数。如果 bulkSize
(默认为 0)大于 1,则将执行具有给定批量大小的批量请求,而不是每个存储操作的单独请求。
ConnectionFactoryInterface
连接工厂负责创建 Elasticsearch\Client
的实例。
ConnectionFactoryInterface
的提供实现是 SimpleConnectionFactory
,它将单个 (!) dsn
(scheme://host:port
)作为构造函数参数。
IndexDefinerInterface
索引定义器提供包含/创建特定索引的 Elasticsearch 定义的方法。
索引定义器可以提供多个索引定义,但每个类型的索引只能有一个。
遵循 Elasticsearch >= 6 的最佳实践,每个类型都将存储在其自己的索引中。
如果您想为每个类型使用一个索引定义器,则您的索引定义器可以扩展 AbstractIndexDefiner
并添加到 IndexDefinerRegistry
的一个实例中。
如果您想为所有索引名称添加前缀,则可以将 IndexDefinerRegistry
包装在 PrefixedIndexDefiner
的一个实例中(也可以将每个单独的索引定义器包装在其自己的 PrefixedIndexDefiner
中)。