src/module-elasticsuite-core/Index/Analysis/Config/Reader.php
<?php
/**
* DISCLAIMER
*
* Do not edit or add to this file if you wish to upgrade Smile ElasticSuite to newer
* versions in the future.
*
* @category Smile
* @package Smile\ElasticsuiteCore
* @author Aurelien FOUCRET <aurelien.foucret@smile.fr>
* @copyright 2020 Smile
* @license Open Software License ("OSL") v. 3.0
*/
namespace Smile\ElasticsuiteCore\Index\Analysis\Config;
use Magento\Framework\Config\Reader\Filesystem;
use Magento\Framework\Config\FileResolverInterface;
use Magento\Framework\Config\ValidationStateInterface;
/**
* Validate, read and convert elasticsearch indices analysis files.
*
* @SuppressWarnings(PHPMD.CamelCasePropertyName)
*
* @category Smile
* @package Smile\ElasticsuiteCore
* @author Aurelien FOUCRET <aurelien.foucret@smile.fr>
*/
class Reader extends Filesystem
{
/**
* Reader supported filename.
*
* @var string
*/
const FILENAME = 'elasticsuite_analysis.xml';
/**
* List of attributes by XPath used as ids during the file merge process.
*
* @var array
*/
protected $_idAttributes = [
'/analysis/char_filters/char_filter' => ['name', 'language'],
'/analysis/filters/filter' => ['name', 'language'],
'/analysis/tokenizers/tokenizer' => ['name', 'language'],
'/analysis/analyzers/analyzer' => ['name', 'language'],
'/analysis/stemmers/group' => ['language'],
'/analysis/stemmers/group/stemmer' => ['identifier'],
];
/**
* {@inheritdoc}
*/
public function __construct(
FileResolverInterface $fileResolver,
Converter $converter,
SchemaLocator $schemaLocator,
ValidationStateInterface $validationState,
$fileName = self::FILENAME,
$idAttributes = [],
$domDocumentClass = 'Magento\Framework\Config\Dom',
$defaultScope = 'global'
) {
parent::__construct(
$fileResolver,
$converter,
$schemaLocator,
$validationState,
$fileName,
$idAttributes,
$domDocumentClass,
$defaultScope
);
}
}