| Current Path : /srv/web/sites/trentinoplant.it/httpdocs/vendor1/magento/module-open-search/etc/ |
| Current File : /srv/web/sites/trentinoplant.it/httpdocs/vendor1/magento/module-open-search/etc/di.xml |
<?xml version="1.0"?>
<!--
/**
* Copyright © Magento, Inc. All rights reserved.
* See COPYING.txt for license details.
*/
-->
<config xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:noNamespaceSchemaLocation="urn:magento:framework:ObjectManager/etc/config.xsd">
<type name="Magento\Elasticsearch\Model\Config">
<arguments>
<argument name="engineList" xsi:type="array">
<item name="opensearch" xsi:type="string">opensearch</item>
</argument>
</arguments>
</type>
<!-- Configuration: Catalog Search / Search Engine -->
<type name="Magento\Search\Model\Adminhtml\System\Config\Source\Engine">
<arguments>
<argument name="engines" xsi:type="array">
<item sortOrder="40" name="opensearch" xsi:type="string">OpenSearch</item>
</argument>
</arguments>
</type>
<!-- Product-Category Data -->
<type name="Magento\Elasticsearch\Elasticsearch5\Model\Adapter\BatchDataMapper\CategoryFieldsProviderProxy">
<arguments>
<argument name="categoryFieldsProviders" xsi:type="array">
<item name="opensearch" xsi:type="object">Magento\Elasticsearch\Elasticsearch5\Model\Adapter\BatchDataMapper\CategoryFieldsProvider</item>
</argument>
</arguments>
</type>
<type name="Magento\Elasticsearch\Elasticsearch5\Model\Adapter\FieldMapper\ProductFieldMapperProxy">
<arguments>
<argument name="productFieldMappers" xsi:type="array">
<item name="opensearch" xsi:type="object">Magento\OpenSearch\Model\Adapter\FieldMapper\ProductFieldMapper</item>
</argument>
</arguments>
</type>
<virtualType name="Magento\OpenSearch\Model\Adapter\FieldMapper\ProductFieldMapper"
type="Magento\Elasticsearch\Elasticsearch5\Model\Adapter\FieldMapper\ProductFieldMapper">
<arguments>
<argument name="fieldProvider" xsi:type="object">elasticsearch5FieldProvider</argument>
<argument name="fieldNameResolver" xsi:type="object">\Magento\OpenSearch\Model\Adapter\FieldMapper\Product\FieldProvider\FieldName\Resolver\CompositeResolver</argument>
</arguments>
</virtualType>
<virtualType name="\Magento\OpenSearch\Model\Adapter\FieldMapper\Product\FieldProvider\FieldName\Resolver\CompositeResolver"
type="\Magento\Elasticsearch\Model\Adapter\FieldMapper\Product\FieldProvider\FieldName\Resolver\CompositeResolver">
<arguments>
<argument name="items" xsi:type="array">
<item name="notEav" xsi:type="object" sortOrder="10">\Magento\Elasticsearch\Model\Adapter\FieldMapper\Product\FieldProvider\FieldName\Resolver\NotEavAttribute</item>
<item name="special" xsi:type="object" sortOrder="20">\Magento\Elasticsearch\Model\Adapter\FieldMapper\Product\FieldProvider\FieldName\Resolver\SpecialAttribute</item>
<item name="price" xsi:type="object" sortOrder="30">\Magento\Elasticsearch\Model\Adapter\FieldMapper\Product\FieldProvider\FieldName\Resolver\Price</item>
<item name="categoryName" xsi:type="object" sortOrder="40">\Magento\Elasticsearch\Model\Adapter\FieldMapper\Product\FieldProvider\FieldName\Resolver\CategoryName</item>
<item name="position" xsi:type="object" sortOrder="50">\Magento\Elasticsearch\Model\Adapter\FieldMapper\Product\FieldProvider\FieldName\Resolver\Position</item>
<item name="default" xsi:type="object" sortOrder="100">Magento\OpenSearch\Model\Adapter\FieldMapper\Product\FieldProvider\FieldName\Resolver\DefaultResolver</item>
</argument>
</arguments>
</virtualType>
<!-- Resolver -->
<type name="Magento\AdvancedSearch\Model\Client\ClientResolver">
<arguments>
<argument name="clientFactories" xsi:type="array">
<item name="opensearch" xsi:type="string">\Magento\OpenSearch\Model\Client\OpenSearchFactory</item>
</argument>
<argument name="clientOptions" xsi:type="array">
<item name="opensearch" xsi:type="string">\Magento\Elasticsearch\Model\Config</item>
</argument>
</arguments>
</type>
<virtualType name="Magento\OpenSearch\Model\Client\OpenSearchFactory" type="Magento\AdvancedSearch\Model\Client\ClientFactory">
<arguments>
<argument name="clientClass" xsi:type="string">Magento\OpenSearch\Model\SearchClient</argument>
<argument name="openSearch" xsi:type="string">Magento\OpenSearch\Model\OpenSearch</argument>
</arguments>
</virtualType>
<type name="Magento\Elasticsearch\Elasticsearch5\Model\Client\ClientFactoryProxy">
<arguments>
<argument name="clientFactories" xsi:type="array">
<item name="opensearch" xsi:type="object">Magento\OpenSearch\Model\Client\OpenSearchFactory</item>
</argument>
</arguments>
</type>
<!-- Index -->
<type name="Magento\CatalogSearch\Model\Indexer\IndexerHandlerFactory">
<arguments>
<argument name="handlers" xsi:type="array">
<item name="opensearch" xsi:type="string">Magento\Elasticsearch\Model\Indexer\IndexerHandler</item>
</argument>
</arguments>
</type>
<type name="Magento\CatalogSearch\Model\Indexer\IndexStructureFactory">
<arguments>
<argument name="structures" xsi:type="array">
<item name="opensearch" xsi:type="string">Magento\Elasticsearch\Model\Indexer\IndexStructure</item>
</argument>
</arguments>
</type>
<type name="Magento\Elasticsearch\Model\Adapter\Elasticsearch">
<arguments>
<argument name="responseErrorExceptionList" xsi:type="array">
<item name="opensearchMissing404" xsi:type="string">OpenSearch\Common\Exceptions\Missing404Exception</item>
</argument>
</arguments>
</type>
<!-- Fixes -->
<type name="Magento\Framework\Search\Dynamic\IntervalFactory">
<arguments>
<argument name="intervals" xsi:type="array">
<item name="opensearch" xsi:type="string">Magento\Elasticsearch\Elasticsearch5\SearchAdapter\Aggregation\Interval</item>
</argument>
</arguments>
</type>
<type name="Magento\Framework\Search\Dynamic\DataProviderFactory">
<arguments>
<argument name="dataProviders" xsi:type="array">
<item name="opensearch" xsi:type="string">Magento\Elasticsearch\SearchAdapter\Dynamic\DataProvider</item>
</argument>
</arguments>
</type>
<!-- suggestions -->
<virtualType name="Magento\OpenSearch\Model\DataProvider\Suggestions" type="Magento\Elasticsearch\Model\DataProvider\Base\Suggestions">
<arguments>
<argument name="fieldProvider" xsi:type="object">elasticsearch5FieldProvider</argument>
<argument name="responseErrorExceptionList" xsi:type="array">
<item name="opensearchBadRequest404" xsi:type="string">OpenSearch\Common\Exceptions\BadRequest400Exception</item>
</argument>
</arguments>
</virtualType>
<type name="Magento\AdvancedSearch\Model\SuggestedQueries">
<arguments>
<argument name="data" xsi:type="array">
<item name="opensearch" xsi:type="string">Magento\OpenSearch\Model\DataProvider\Suggestions</item>
</argument>
</arguments>
</type>
<!-- Engine -->
<type name="Magento\Search\Model\EngineResolver">
<arguments>
<argument name="engines" xsi:type="array">
<item name="opensearch" xsi:type="string">opensearch</item>
</argument>
<argument name="defaultEngine" xsi:type="string">opensearch</argument>
</arguments>
</type>
<type name="Magento\CatalogSearch\Model\ResourceModel\EngineProvider">
<arguments>
<argument name="engines" xsi:type="array">
<item name="opensearch" xsi:type="string">Magento\Elasticsearch\Model\ResourceModel\Engine</item>
</argument>
</arguments>
</type>
<!-- Adapter -->
<type name="Magento\Search\Model\AdapterFactory">
<arguments>
<argument name="adapters" xsi:type="array">
<item name="opensearch" xsi:type="string">\Magento\OpenSearch\SearchAdapter\Adapter</item>
</argument>
</arguments>
</type>
<!-- Config CLI Setup -->
<virtualType name="Magento\OpenSearch\Setup\InstallConfig" type="Magento\Search\Setup\InstallConfig">
<arguments>
<argument name="searchConfigMapping" xsi:type="array">
<item name="opensearch-host" xsi:type="string">opensearch_server_hostname</item>
<item name="opensearch-port" xsi:type="string">opensearch_server_port</item>
<item name="opensearch-timeout" xsi:type="string">opensearch_server_timeout</item>
<item name="opensearch-index-prefix" xsi:type="string">opensearch_index_prefix</item>
<item name="opensearch-enable-auth" xsi:type="string">opensearch_enable_auth</item>
<item name="opensearch-username" xsi:type="string">opensearch_username</item>
<item name="opensearch-password" xsi:type="string">opensearch_password</item>
</argument>
</arguments>
</virtualType>
<type name="Magento\Search\Setup\CompositeInstallConfig">
<arguments>
<argument name="installConfigList" xsi:type="array">
<item name="opensearch" xsi:type="object">Magento\OpenSearch\Setup\InstallConfig</item>
</argument>
</arguments>
</type>
<!-- Sensitive config -->
<type name="Magento\Config\Model\Config\TypePool">
<arguments>
<argument name="sensitive" xsi:type="array">
<item name="catalog/search/opensearch_password" xsi:type="string">1</item>
<item name="catalog/search/opensearch_server_hostname" xsi:type="string">1</item>
<item name="catalog/search/opensearch_username" xsi:type="string">1</item>
</argument>
<argument name="environment" xsi:type="array">
<item name="catalog/search/opensearch_enable_auth" xsi:type="string">1</item>
<item name="catalog/search/opensearch_index_prefix" xsi:type="string">1</item>
<item name="catalog/search/opensearch_password" xsi:type="string">1</item>
<item name="catalog/search/opensearch_server_hostname" xsi:type="string">1</item>
<item name="catalog/search/opensearch_server_port" xsi:type="string">1</item>
<item name="catalog/search/opensearch_username" xsi:type="string">1</item>
<item name="catalog/search/opensearch_server_timeout" xsi:type="string">1</item>
</argument>
</arguments>
</type>
<!-- PageSize -->
<type name="Magento\Search\Model\Search\PageSizeProvider">
<arguments>
<argument name="pageSizeBySearchEngine" xsi:type="array">
<item name="opensearch" xsi:type="number">10000</item>
</argument>
</arguments>
</type>
<virtualType name="elasticsearchLayerCategoryItemCollectionProvider" type="Magento\Elasticsearch\Model\Layer\Category\ItemCollectionProvider">
<arguments>
<argument name="factories" xsi:type="array">
<item name="opensearch" xsi:type="object">elasticsearchCategoryCollectionFactory</item>
</argument>
</arguments>
</virtualType>
<type name="Magento\CatalogSearch\Model\Search\ItemCollectionProvider">
<arguments>
<argument name="factories" xsi:type="array">
<item name="opensearch" xsi:type="object">elasticsearchAdvancedCollectionFactory</item>
<item name="default" xsi:type="object">elasticsearchAdvancedCollectionFactory</item>
</argument>
</arguments>
</type>
<type name="Magento\CatalogSearch\Model\Advanced\ProductCollectionPrepareStrategyProvider">
<arguments>
<argument name="strategies" xsi:type="array">
<item name="opensearch" xsi:type="object">Magento\Elasticsearch\Model\Advanced\ProductCollectionPrepareStrategy</item>
</argument>
</arguments>
</type>
<virtualType name="elasticsearchLayerSearchItemCollectionProvider" type="Magento\Elasticsearch\Model\Layer\Search\ItemCollectionProvider">
<arguments>
<argument name="factories" xsi:type="array">
<item name="opensearch" xsi:type="object">elasticsearchFulltextSearchCollectionFactory</item>
</argument>
</arguments>
</virtualType>
<type name="Magento\OpenSearch\Model\SearchClient">
<arguments>
<argument name="fieldsMappingPreprocessors" xsi:type="array">
<item name="opensearch_copy_searchable_fields_to_search_field" xsi:type="object">Magento\Elasticsearch\Model\Adapter\FieldMapper\CopySearchableFieldsToSearchField</item>
<item name="opensearch_add_default_search_field" xsi:type="object">Magento\Elasticsearch\Model\Adapter\FieldMapper\AddDefaultSearchField</item>
</argument>
</arguments>
</type>
<type name="Magento\Search\Model\SearchEngine\Validator">
<arguments>
<argument name="engineValidators" xsi:type="array">
<item name="opensearch" xsi:type="object">Magento\OpenSearch\Setup\Validator</item>
</argument>
</arguments>
</type>
<type name="Magento\OpenSearch\Model\Adapter\FieldMapper\Product\FieldProvider\FieldName\Resolver\DefaultResolver">
<arguments>
<argument name="baseResolver" xsi:type="object">Magento\Elasticsearch\Model\Adapter\FieldMapper\Product\FieldProvider\FieldName\Resolver\DefaultResolver</argument>
</arguments>
</type>
<type name="Magento\OpenSearch\Model\Adapter\DynamicTemplatesProvider">
<arguments>
<argument name="mappers" xsi:type="array">
<item name="price_mapping" xsi:type="object">Magento\OpenSearch\Model\Adapter\DynamicTemplates\PriceMapper</item>
<item name="position_mapping" xsi:type="object">Magento\OpenSearch\Model\Adapter\DynamicTemplates\PositionMapper</item>
<item name="string_mapping" xsi:type="object">Magento\OpenSearch\Model\Adapter\DynamicTemplates\StringMapper</item>
<item name="integer_mapping" xsi:type="object">Magento\OpenSearch\Model\Adapter\DynamicTemplates\IntegerMapper</item>
</argument>
</arguments>
</type>
</config>