diff --git a/lib/public/FullTextSearch/IFullTextSearchProvider.php b/lib/public/FullTextSearch/IFullTextSearchProvider.php index 890b57d84c..a46ef05149 100644 --- a/lib/public/FullTextSearch/IFullTextSearchProvider.php +++ b/lib/public/FullTextSearch/IFullTextSearchProvider.php @@ -163,6 +163,24 @@ interface IFullTextSearchProvider { public function setIndexOptions(IIndexOptions $options); + /** + * Allow the provider to generate a list of chunk to split a huge list of + * indexable documents + * + * During the indexing the generateIndexableDocuments method will be called + * for each entry of the returned array. + * If the returned array is empty, the generateIndexableDocuments() will be + * called only once (per user). + * + * @since 16.0.0 + * + * @param string $userId + * + * @return string[] + */ + public function generateChunks(string $userId): array; + + /** * Returns all indexable document for a user as an array of IndexDocument. * @@ -179,12 +197,14 @@ interface IFullTextSearchProvider { * @see IndexDocument * * @since 15.0.0 + * -> 16.0.0: the parameter "$chunk" was added * * @param string $userId + * @param string $chunk * * @return IndexDocument[] */ - public function generateIndexableDocuments(string $userId): array; + public function generateIndexableDocuments(string $userId, string $chunk): array; /**