Skip to content
Snippets Groups Projects
IndexProvider.php 1.17 KiB
Newer Older
Pavel's avatar
Pavel committed
<?php

namespace IQDEV\ElasticSearch\Indexer;

interface IndexProvider
{
Pavel's avatar
Pavel committed
    /**
     * Итерационное получение элемнтов для обновления
     *
     * @return \Generator|Index[]
     */
Pavel's avatar
Pavel committed
    public function get(): \Generator;
Pavel's avatar
Pavel committed

    /**
     * Установка размера пакета для передачив elasticsearch
     *
     * @param int $size
     *
     * @return void
     */
    public function setBatchSize(int $size): void;

    /**
     * Получение размера пакета для передачив elasticsearch
     *
     * @return int|null
     */
    public function getBatchSize(): ?int;

    /**
     * Установка лимита на количество обрабатываемых данных для индексации за один раз
     *
     * @param int $limit
     *
     * @return void
     */
    public function setLimit(int $limit): void;

    /**
     * Получение лимита на количество обрабатываемых данных для индексации за один раз
     *
     * @return int|null
     */
    public function getLimit(): ?int;
}