Smile\ElasticsuiteCore\Index\Indices\Config::initIndexConfig PHP Метод

initIndexConfig() приватный Метод

Init type, mapping, and fields from a index configuration array.
private initIndexConfig ( array $indexConfigData ) : array
$indexConfigData array Processed index configuration.
Результат array
    private function initIndexConfig(array $indexConfigData)
    {
        $types = [];
        foreach ($indexConfigData['types'] as $typeName => $typeConfigData) {
            $datasources = [];
            $staticFields = [];
            foreach ($typeConfigData['datasources'] as $datasourceName => $datasourceClass) {
                $datasources[$datasourceName] = $this->objectManager->get($datasourceClass);
            }
            $dynamicFieldProviders = array_filter($datasources, array($this, 'isDynamicFieldsProvider'));
            foreach ($typeConfigData['mapping']['staticFields'] as $fieldName => $fieldConfig) {
                $staticFields[$fieldName] = $this->mappingFieldFactory->create($fieldConfig + ['name' => $fieldName]);
            }
            $mapping = $this->mappingFactory->create(['staticFields' => $staticFields, 'dynamicFieldProviders' => $dynamicFieldProviders, 'idFieldName' => $typeConfigData['idFieldName']]);
            $types[$typeName] = $this->typeFactory->create(['name' => $typeName, 'datasources' => $datasources, 'mapping' => $mapping]);
        }
        $defaultSearchType = $indexConfigData['defaultSearchType'];
        return ['types' => $types, 'defaultSearchType' => $defaultSearchType];
    }