25'ten fazla konu seçemezsiniz Konular bir harf veya rakamla başlamalı, kısa çizgiler ('-') içerebilir ve en fazla 35 karakter uzunluğunda olabilir.
 
 
 
 
 
 

575 satır
38 KiB

  1. <?xml version="1.0"?>
  2. <!--
  3. /**
  4. * Copyright © Magento, Inc. All rights reserved.
  5. * See COPYING.txt for license details.
  6. */
  7. -->
  8. <config xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="urn:magento:framework:ObjectManager/etc/config.xsd">
  9. <preference for="Magento\Elasticsearch\Model\Adapter\FieldMapperInterface" type="Magento\Elasticsearch\Model\Adapter\FieldMapper\FieldMapperResolver" />
  10. <preference for="Magento\Elasticsearch\Model\Adapter\FieldMapper\Product\FieldProvider\FieldName\ResolverInterface" type="Magento\Elasticsearch\Model\Adapter\FieldMapper\Product\FieldProvider\FieldName\Resolver\CompositeResolver" />
  11. <preference for="Magento\Elasticsearch\Model\Adapter\FieldMapper\Product\FieldProvider\FieldType\ResolverInterface" type="Magento\Elasticsearch\Model\Adapter\FieldMapper\Product\FieldProvider\FieldType\Resolver\CompositeResolver" />
  12. <preference for="Magento\Elasticsearch\Model\Adapter\FieldMapper\Product\FieldProvider\FieldIndex\ResolverInterface" type="Magento\Elasticsearch\Model\Adapter\FieldMapper\Product\FieldProvider\FieldIndex\IndexResolver" />
  13. <preference for="Magento\Elasticsearch\Model\Adapter\FieldMapper\Product\FieldProvider\FieldIndex\ConverterInterface" type="Magento\Elasticsearch\Model\Adapter\FieldMapper\Product\FieldProvider\FieldIndex\Converter" />
  14. <preference for="Magento\Elasticsearch\Model\Adapter\FieldMapper\Product\FieldProvider\FieldType\ConverterInterface" type="Magento\Elasticsearch\Model\Adapter\FieldMapper\Product\FieldProvider\FieldType\Converter" />
  15. <preference for="Magento\Elasticsearch\Model\Adapter\FieldMapper\Product\FieldProviderInterface" type="Magento\Elasticsearch\Model\Adapter\FieldMapper\Product\CompositeFieldProvider" />
  16. <preference for="Magento\Framework\Search\Dynamic\DataProviderInterface" type="Magento\Elasticsearch\SearchAdapter\Dynamic\DataProvider" />
  17. <preference for="Magento\CatalogSearch\Model\ResourceModel\Fulltext\Collection\SearchResultApplierInterface" type="Magento\Elasticsearch\Model\ResourceModel\Fulltext\Collection\SearchResultApplier"/>
  18. <preference for="Magento\Elasticsearch\Model\DataProvider\Base\GetSuggestionFrequencyInterface" type="Magento\Elasticsearch\Model\DataProvider\Base\GetSuggestionFrequency"/>
  19. <type name="Magento\Catalog\Model\Indexer\Category\Product\Action\Rows">
  20. <plugin name="catalogsearchFulltextProductAssignment" type="Magento\Elasticsearch\Model\Indexer\Fulltext\Plugin\Category\Product\Action\Rows"/>
  21. </type>
  22. <type name="Magento\Elasticsearch\Model\Config">
  23. <arguments>
  24. <argument name="engineList" xsi:type="array">
  25. <item name="elasticsearch5" xsi:type="string">elasticsearch5</item>
  26. </argument>
  27. </arguments>
  28. </type>
  29. <virtualType name="Magento\Elasticsearch\Model\Layer\Search\Context" type="Magento\Catalog\Model\Layer\Search\Context">
  30. <arguments>
  31. <argument name="collectionProvider" xsi:type="object">elasticsearchLayerSearchItemCollectionProvider</argument>
  32. <argument name="stateKey" xsi:type="object">Magento\CatalogSearch\Model\Layer\Search\StateKey</argument>
  33. </arguments>
  34. </virtualType>
  35. <type name="Magento\Catalog\Model\Layer\Search">
  36. <arguments>
  37. <argument name="context" xsi:type="object">Magento\Elasticsearch\Model\Layer\Search\Context</argument>
  38. </arguments>
  39. </type>
  40. <virtualType name="Magento\Elasticsearch\Model\Layer\Category\Context" type="Magento\Catalog\Model\Layer\Category\Context">
  41. <arguments>
  42. <argument name="collectionProvider" xsi:type="object">elasticsearchLayerCategoryItemCollectionProvider</argument>
  43. </arguments>
  44. </virtualType>
  45. <type name="Magento\Catalog\Model\Layer\Category">
  46. <arguments>
  47. <argument name="context" xsi:type="object">Magento\Elasticsearch\Model\Layer\Category\Context</argument>
  48. </arguments>
  49. </type>
  50. <virtualType name="elasticsearchFulltextSearchCollection" type="Magento\CatalogSearch\Model\ResourceModel\Fulltext\Collection">
  51. <arguments>
  52. <argument name="searchRequestName" xsi:type="string">quick_search_container</argument>
  53. <argument name="searchCriteriaResolverFactory" xsi:type="object">elasticsearchSearchCriteriaResolverFactory</argument>
  54. <argument name="searchResultApplierFactory" xsi:type="object">elasticsearchSearchResultApplier\Factory</argument>
  55. <argument name="totalRecordsResolverFactory" xsi:type="object">elasticsearchTotalRecordsResolver\Factory</argument>
  56. <argument name="defaultFilterStrategyApplyChecker" xsi:type="object">Magento\Elasticsearch\Model\ResourceModel\Fulltext\Collection\DefaultFilterStrategyApplyChecker</argument>
  57. </arguments>
  58. </virtualType>
  59. <virtualType name="elasticsearchFulltextSearchCollectionFactory" type="Magento\CatalogSearch\Model\ResourceModel\Fulltext\SearchCollectionFactory">
  60. <arguments>
  61. <argument name="instanceName" xsi:type="string">elasticsearchFulltextSearchCollection</argument>
  62. </arguments>
  63. </virtualType>
  64. <virtualType name="elasticsearchLayerSearchItemCollectionProvider" type="Magento\Elasticsearch\Model\Layer\Search\ItemCollectionProvider">
  65. <arguments>
  66. <argument name="factories" xsi:type="array">
  67. <item name="mysql" xsi:type="object">Magento\CatalogSearch\Model\ResourceModel\Fulltext\SearchCollectionFactory</item>
  68. <item name="elasticsearch5" xsi:type="object">elasticsearchFulltextSearchCollectionFactory</item>
  69. </argument>
  70. </arguments>
  71. </virtualType>
  72. <virtualType name="elasticsearchCategoryCollection" type="Magento\CatalogSearch\Model\ResourceModel\Fulltext\Collection">
  73. <arguments>
  74. <argument name="searchRequestName" xsi:type="string">catalog_view_container</argument>
  75. <argument name="searchCriteriaResolverFactory" xsi:type="object">elasticsearchSearchCriteriaResolverFactory</argument>
  76. <argument name="searchResultApplierFactory" xsi:type="object">elasticsearchSearchResultApplier\Factory</argument>
  77. <argument name="totalRecordsResolverFactory" xsi:type="object">elasticsearchTotalRecordsResolver\Factory</argument>
  78. <argument name="defaultFilterStrategyApplyChecker" xsi:type="object">Magento\Elasticsearch\Model\ResourceModel\Fulltext\Collection\DefaultFilterStrategyApplyChecker</argument>
  79. </arguments>
  80. </virtualType>
  81. <virtualType name="elasticsearchCategoryCollectionFactory" type="Magento\CatalogSearch\Model\ResourceModel\Fulltext\SearchCollectionFactory">
  82. <arguments>
  83. <argument name="instanceName" xsi:type="string">elasticsearchCategoryCollection</argument>
  84. </arguments>
  85. </virtualType>
  86. <virtualType name="elasticsearchLayerCategoryItemCollectionProvider" type="Magento\Elasticsearch\Model\Layer\Category\ItemCollectionProvider">
  87. <arguments>
  88. <argument name="factories" xsi:type="array">
  89. <item name="mysql" xsi:type="object">Magento\CatalogSearch\Model\ResourceModel\Fulltext\CollectionFactory</item>
  90. <item name="elasticsearch5" xsi:type="object">elasticsearchCategoryCollectionFactory</item>
  91. </argument>
  92. </arguments>
  93. </virtualType>
  94. <virtualType name="elasticsearchAdvancedCollection" type="Magento\CatalogSearch\Model\ResourceModel\Advanced\Collection">
  95. <arguments>
  96. <argument name="searchRequestName" xsi:type="string">advanced_search_container</argument>
  97. <argument name="searchCriteriaResolverFactory" xsi:type="object">elasticsearchSearchCriteriaResolverFactory</argument>
  98. <argument name="searchResultApplierFactory" xsi:type="object">elasticsearchSearchResultApplier\Factory</argument>
  99. <argument name="totalRecordsResolverFactory" xsi:type="object">elasticsearchTotalRecordsResolver\Factory</argument>
  100. <argument name="defaultFilterStrategyApplyChecker" xsi:type="object">Magento\Elasticsearch\Model\ResourceModel\Fulltext\Collection\DefaultFilterStrategyApplyChecker</argument>
  101. </arguments>
  102. </virtualType>
  103. <virtualType name="elasticsearchAdvancedCollectionFactory" type="Magento\CatalogSearch\Model\ResourceModel\Advanced\CollectionFactory">
  104. <arguments>
  105. <argument name="instanceName" xsi:type="string">elasticsearchAdvancedCollection</argument>
  106. </arguments>
  107. </virtualType>
  108. <type name="Magento\CatalogSearch\Model\Search\ItemCollectionProvider">
  109. <arguments>
  110. <argument name="factories" xsi:type="array">
  111. <item name="elasticsearch5" xsi:type="object">elasticsearchAdvancedCollectionFactory</item>
  112. </argument>
  113. </arguments>
  114. </type>
  115. <type name="Magento\CatalogSearch\Model\Advanced\ProductCollectionPrepareStrategyProvider">
  116. <arguments>
  117. <argument name="strategies" xsi:type="array">
  118. <item name="default" xsi:type="object">Magento\Elasticsearch\Model\Advanced\ProductCollectionPrepareStrategy</item>
  119. <item name="elasticsearch5" xsi:type="object">Magento\Elasticsearch\Model\Advanced\ProductCollectionPrepareStrategy</item>
  120. </argument>
  121. </arguments>
  122. </type>
  123. <virtualType name="elasticsearchSearchCriteriaResolverFactory" type="Magento\CatalogSearch\Model\ResourceModel\Fulltext\Collection\SearchCriteriaResolverFactory">
  124. <arguments>
  125. <argument name="instanceName" xsi:type="string">Magento\Elasticsearch\Model\ResourceModel\Fulltext\Collection\SearchCriteriaResolver</argument>
  126. </arguments>
  127. </virtualType>
  128. <virtualType name="elasticsearchSearchResultApplier\Factory" type="Magento\CatalogSearch\Model\ResourceModel\Fulltext\Collection\SearchResultApplierFactory">
  129. <arguments>
  130. <argument name="instanceName" xsi:type="string">Magento\Elasticsearch\Model\ResourceModel\Fulltext\Collection\SearchResultApplier</argument>
  131. </arguments>
  132. </virtualType>
  133. <virtualType name="elasticsearchTotalRecordsResolver\Factory" type="Magento\CatalogSearch\Model\ResourceModel\Fulltext\Collection\TotalRecordsResolverFactory">
  134. <arguments>
  135. <argument name="instanceName" xsi:type="string">Magento\Elasticsearch\Model\ResourceModel\Fulltext\Collection\TotalRecordsResolver</argument>
  136. </arguments>
  137. </virtualType>
  138. <type name="Magento\Elasticsearch\Model\Adapter\FieldMapper\FieldMapperResolver">
  139. <arguments>
  140. <argument name="fieldMappers" xsi:type="array">
  141. <item name="product" xsi:type="string">Magento\Elasticsearch\Elasticsearch5\Model\Adapter\FieldMapper\ProductFieldMapperProxy</item>
  142. </argument>
  143. </arguments>
  144. </type>
  145. <virtualType name="additionalFieldsProviderForElasticsearch" type="Magento\AdvancedSearch\Model\Adapter\DataMapper\AdditionalFieldsProvider">
  146. <arguments>
  147. <argument name="fieldsProviders" xsi:type="array">
  148. <item name="categories" xsi:type="object">Magento\Elasticsearch\Elasticsearch5\Model\Adapter\BatchDataMapper\CategoryFieldsProviderProxy</item>
  149. <item name="prices" xsi:type="object">Magento\Elasticsearch\Model\Adapter\BatchDataMapper\PriceFieldsProvider</item>
  150. </argument>
  151. </arguments>
  152. </virtualType>
  153. <type name="Magento\Elasticsearch\Model\Adapter\BatchDataMapper\ProductDataMapper">
  154. <arguments>
  155. <argument name="additionalFieldsProvider" xsi:type="object">additionalFieldsProviderForElasticsearch</argument>
  156. <argument name="filterableAttributeTypes" xsi:type="array">
  157. <item name="boolean" xsi:type="string">boolean</item>
  158. <item name="multiselect" xsi:type="string">multiselect</item>
  159. <item name="select" xsi:type="string">select</item>
  160. </argument>
  161. </arguments>
  162. </type>
  163. <preference for="Magento\Elasticsearch\Model\Adapter\BatchDataMapperInterface" type="Magento\Elasticsearch\Model\Adapter\BatchDataMapper\DataMapperResolver" />
  164. <type name="Magento\Elasticsearch\Model\Adapter\BatchDataMapper\DataMapperFactory">
  165. <arguments>
  166. <argument name="dataMappers" xsi:type="array">
  167. <item name="product" xsi:type="string">Magento\Elasticsearch\Model\Adapter\BatchDataMapper\ProductDataMapper</item>
  168. </argument>
  169. </arguments>
  170. </type>
  171. <preference for="Magento\Elasticsearch\Model\Adapter\Index\BuilderInterface" type="Magento\Elasticsearch\Model\Adapter\Index\Builder" />
  172. <preference for="Magento\Elasticsearch\Model\Adapter\Index\Config\EsConfigInterface" type="Magento\Elasticsearch\Model\Adapter\Index\Config\EsConfig" />
  173. <type name="Magento\Search\Model\Adminhtml\System\Config\Source\Engine">
  174. <arguments>
  175. <argument name="engines" xsi:type="array">
  176. <item sortOrder="10" name="elasticsearch5" xsi:type="string">Elasticsearch 5.0+ (Deprecated)</item>
  177. </argument>
  178. </arguments>
  179. </type>
  180. <type name="Magento\Elasticsearch\Elasticsearch5\Model\Adapter\BatchDataMapper\CategoryFieldsProviderProxy">
  181. <arguments>
  182. <argument name="categoryFieldsProviders" xsi:type="array">
  183. <item name="elasticsearch5" xsi:type="object">Magento\Elasticsearch\Elasticsearch5\Model\Adapter\BatchDataMapper\CategoryFieldsProvider</item>
  184. </argument>
  185. </arguments>
  186. </type>
  187. <type name="Magento\Elasticsearch\Elasticsearch5\Model\Adapter\FieldMapper\ProductFieldMapperProxy">
  188. <arguments>
  189. <argument name="productFieldMappers" xsi:type="array">
  190. <item name="elasticsearch5" xsi:type="object">Magento\Elasticsearch\Elasticsearch5\Model\Adapter\FieldMapper\ProductFieldMapper</item>
  191. </argument>
  192. </arguments>
  193. </type>
  194. <type name="Magento\AdvancedSearch\Model\Client\ClientResolver">
  195. <arguments>
  196. <argument name="clientFactories" xsi:type="array">
  197. <item name="elasticsearch5" xsi:type="string">\Magento\Elasticsearch\Elasticsearch5\Model\Client\ElasticsearchFactory</item>
  198. </argument>
  199. <argument name="clientOptions" xsi:type="array">
  200. <item name="elasticsearch5" xsi:type="string">Magento\Elasticsearch\Model\Config</item>
  201. </argument>
  202. </arguments>
  203. </type>
  204. <type name="Magento\CatalogSearch\Model\Indexer\IndexerHandlerFactory">
  205. <arguments>
  206. <argument name="handlers" xsi:type="array">
  207. <item name="elasticsearch5" xsi:type="string">Magento\Elasticsearch\Model\Indexer\IndexerHandler</item>
  208. </argument>
  209. </arguments>
  210. </type>
  211. <type name="Magento\CatalogSearch\Model\Indexer\IndexStructureFactory">
  212. <arguments>
  213. <argument name="structures" xsi:type="array">
  214. <item name="elasticsearch5" xsi:type="string">Magento\Elasticsearch\Model\Indexer\IndexStructure</item>
  215. </argument>
  216. </arguments>
  217. </type>
  218. <type name="Magento\CatalogSearch\Model\ResourceModel\EngineProvider">
  219. <arguments>
  220. <argument name="engines" xsi:type="array">
  221. <item name="elasticsearch5" xsi:type="string">Magento\Elasticsearch\Model\ResourceModel\Engine</item>
  222. </argument>
  223. </arguments>
  224. </type>
  225. <type name="Magento\Search\Model\AdapterFactory">
  226. <arguments>
  227. <argument name="adapters" xsi:type="array">
  228. <item name="elasticsearch5" xsi:type="string">Magento\Elasticsearch\Elasticsearch5\SearchAdapter\Adapter</item>
  229. </argument>
  230. </arguments>
  231. </type>
  232. <type name="Magento\Search\Model\EngineResolver">
  233. <arguments>
  234. <argument name="engines" xsi:type="array">
  235. <item name="elasticsearch5" xsi:type="string">elasticsearch5</item>
  236. </argument>
  237. <argument name="defaultEngine" xsi:type="string">elasticsearch5</argument>
  238. </arguments>
  239. </type>
  240. <virtualType name="Magento\Elasticsearch\SearchAdapter\ProductEntityMetadata" type="Magento\Framework\Search\EntityMetadata">
  241. <arguments>
  242. <argument name="entityId" xsi:type="string">_id</argument>
  243. </arguments>
  244. </virtualType>
  245. <type name="Magento\Elasticsearch\SearchAdapter\DocumentFactory">
  246. <arguments>
  247. <argument name="entityMetadata" xsi:type="object">Magento\Elasticsearch\SearchAdapter\ProductEntityMetadata</argument>
  248. </arguments>
  249. </type>
  250. <type name="Magento\Elasticsearch\SearchAdapter\ConnectionManager">
  251. <arguments>
  252. <argument name="clientFactory" xsi:type="object">Magento\Elasticsearch\Elasticsearch5\Model\Client\ClientFactoryProxy</argument>
  253. <argument name="clientConfig" xsi:type="object">Magento\Elasticsearch\Model\Config</argument>
  254. </arguments>
  255. </type>
  256. <virtualType name="Magento\Elasticsearch\Elasticsearch5\SearchAdapter\ConnectionManager" type="Magento\Elasticsearch\SearchAdapter\ConnectionManager">
  257. <arguments>
  258. <argument name="clientFactory" xsi:type="object">Magento\Elasticsearch\Elasticsearch5\Model\Client\ClientFactoryProxy</argument>
  259. <argument name="clientConfig" xsi:type="object">Magento\Elasticsearch\Model\Config</argument>
  260. </arguments>
  261. </virtualType>
  262. <virtualType name="Magento\Elasticsearch\Elasticsearch5\Model\Client\ElasticsearchFactory" type="Magento\AdvancedSearch\Model\Client\ClientFactory">
  263. <arguments>
  264. <argument name="clientClass" xsi:type="string">Magento\Elasticsearch\Elasticsearch5\Model\Client\Elasticsearch</argument>
  265. </arguments>
  266. </virtualType>
  267. <type name="Magento\Elasticsearch\Elasticsearch5\Model\Client\ClientFactoryProxy">
  268. <arguments>
  269. <argument name="clientFactories" xsi:type="array">
  270. <item name="elasticsearch5" xsi:type="object">Magento\Elasticsearch\Elasticsearch5\Model\Client\ElasticsearchFactory</item>
  271. </argument>
  272. </arguments>
  273. </type>
  274. <type name="Magento\Elasticsearch\Elasticsearch5\SearchAdapter\Adapter">
  275. <arguments>
  276. <argument name="connectionManager" xsi:type="object">Magento\Elasticsearch\Elasticsearch5\SearchAdapter\ConnectionManager</argument>
  277. </arguments>
  278. </type>
  279. <type name="Magento\Framework\Search\Dynamic\IntervalFactory">
  280. <arguments>
  281. <argument name="intervals" xsi:type="array">
  282. <item name="elasticsearch5" xsi:type="string">Magento\Elasticsearch\Elasticsearch5\SearchAdapter\Aggregation\Interval</item>
  283. </argument>
  284. </arguments>
  285. </type>
  286. <type name="Magento\Framework\Search\Dynamic\DataProviderFactory">
  287. <arguments>
  288. <argument name="dataProviders" xsi:type="array">
  289. <item name="elasticsearch5" xsi:type="string">Magento\Elasticsearch\SearchAdapter\Dynamic\DataProvider</item>
  290. </argument>
  291. </arguments>
  292. </type>
  293. <type name="Magento\Elasticsearch\SearchAdapter\Aggregation\Builder">
  294. <arguments>
  295. <argument name="dataProviderContainer" xsi:type="array">
  296. <item name="catalogsearch_fulltext" xsi:type="object">Magento\Elasticsearch\SearchAdapter\Dynamic\DataProvider</item>
  297. </argument>
  298. <argument name="aggregationContainer" xsi:type="array">
  299. <item name="termBucket" xsi:type="object">Magento\Elasticsearch\SearchAdapter\Aggregation\Builder\Term</item>
  300. <item name="dynamicBucket" xsi:type="object">Magento\Elasticsearch\SearchAdapter\Aggregation\Builder\Dynamic</item>
  301. </argument>
  302. </arguments>
  303. </type>
  304. <type name="Magento\Framework\Indexer\Config\DependencyInfoProvider">
  305. <plugin name="indexerDependencyUpdaterPlugin" type="Magento\Elasticsearch\Model\Indexer\Plugin\DependencyUpdaterPlugin"/>
  306. </type>
  307. <type name="Magento\Elasticsearch\SearchAdapter\Query\Preprocessor\Stopwords">
  308. <arguments>
  309. <argument name="stopwordsModule" xsi:type="string">Magento_Elasticsearch</argument>
  310. <argument name="stopwordsDirectory" xsi:type="string">stopwords</argument>
  311. </arguments>
  312. </type>
  313. <!-- @api -->
  314. <virtualType name="Magento\Elasticsearch\Model\Adapter\Index\Config\Reader" type="Magento\Framework\Config\Reader\Filesystem">
  315. <arguments>
  316. <argument name="converter" xsi:type="object">Magento\Elasticsearch\Model\Adapter\Index\Config\Converter</argument>
  317. <argument name="schemaLocator" xsi:type="object">Magento\Elasticsearch\Model\Adapter\Index\Config\SchemaLocator</argument>
  318. <argument name="fileName" xsi:type="string">esconfig.xml</argument>
  319. </arguments>
  320. </virtualType>
  321. <type name="Magento\Elasticsearch\Model\Adapter\Index\Config\EsConfig">
  322. <arguments>
  323. <argument name="reader" xsi:type="object">Magento\Elasticsearch\Model\Adapter\Index\Config\Reader</argument>
  324. <argument name="cacheId" xsi:type="string">elasticsearch_index_config</argument>
  325. </arguments>
  326. </type>
  327. <type name="Magento\AdvancedSearch\Model\SuggestedQueries">
  328. <arguments>
  329. <argument name="data" xsi:type="array">
  330. <item name="elasticsearch5" xsi:type="string">Magento\Elasticsearch\Model\DataProvider\Suggestions</item>
  331. </argument>
  332. </arguments>
  333. </type>
  334. <type name="Magento\Elasticsearch\SearchAdapter\Dynamic\DataProvider">
  335. <arguments>
  336. <argument name="indexerId" xsi:type="const">\Magento\CatalogSearch\Model\Indexer\Fulltext::INDEXER_ID</argument>
  337. </arguments>
  338. </type>
  339. <type name="Magento\Config\Model\Config\TypePool">
  340. <arguments>
  341. <argument name="sensitive" xsi:type="array">
  342. <item name="catalog/search/elasticsearch5_password" xsi:type="string">1</item>
  343. <item name="catalog/search/elasticsearch5_server_hostname" xsi:type="string">1</item>
  344. <item name="catalog/search/elasticsearch5_username" xsi:type="string">1</item>
  345. </argument>
  346. <argument name="environment" xsi:type="array">
  347. <item name="catalog/search/elasticsearch5_enable_auth" xsi:type="string">1</item>
  348. <item name="catalog/search/elasticsearch5_index_prefix" xsi:type="string">1</item>
  349. <item name="catalog/search/elasticsearch5_password" xsi:type="string">1</item>
  350. <item name="catalog/search/elasticsearch5_server_hostname" xsi:type="string">1</item>
  351. <item name="catalog/search/elasticsearch5_server_port" xsi:type="string">1</item>
  352. <item name="catalog/search/elasticsearch5_username" xsi:type="string">1</item>
  353. <item name="catalog/search/elasticsearch5_server_timeout" xsi:type="string">1</item>
  354. </argument>
  355. </arguments>
  356. </type>
  357. <type name="Magento\Elasticsearch\Elasticsearch5\Model\Adapter\BatchDataMapper\CategoryFieldsProvider">
  358. <arguments>
  359. <argument name="fieldNameResolver" xsi:type="object">elasticsearch5FieldNameResolver</argument>
  360. </arguments>
  361. </type>
  362. <type name="Magento\Elasticsearch\Model\Adapter\FieldMapper\Product\FieldProvider\FieldName\Resolver\CompositeResolver">
  363. <arguments>
  364. <argument name="items" xsi:type="array">
  365. <item name="notEav" xsi:type="object">\Magento\Elasticsearch\Model\Adapter\FieldMapper\Product\FieldProvider\FieldName\Resolver\NotEavAttribute</item>
  366. <item name="special" xsi:type="object">\Magento\Elasticsearch\Model\Adapter\FieldMapper\Product\FieldProvider\FieldName\Resolver\SpecialAttribute</item>
  367. <item name="price" xsi:type="object">\Magento\Elasticsearch\Model\Adapter\FieldMapper\Product\FieldProvider\FieldName\Resolver\Price</item>
  368. <item name="categoryName" xsi:type="object">\Magento\Elasticsearch\Model\Adapter\FieldMapper\Product\FieldProvider\FieldName\Resolver\CategoryName</item>
  369. <item name="position" xsi:type="object">\Magento\Elasticsearch\Model\Adapter\FieldMapper\Product\FieldProvider\FieldName\Resolver\Position</item>
  370. <item name="default" xsi:type="object">\Magento\Elasticsearch\Model\Adapter\FieldMapper\Product\FieldProvider\FieldName\Resolver\DefaultResolver</item>
  371. </argument>
  372. </arguments>
  373. </type>
  374. <virtualType name="elasticsearch5FieldNameResolver" type="\Magento\Elasticsearch\Model\Adapter\FieldMapper\Product\FieldProvider\FieldName\Resolver\CompositeResolver">
  375. <arguments>
  376. <argument name="items" xsi:type="array">
  377. <item name="notEav" xsi:type="object" sortOrder="10">\Magento\Elasticsearch\Model\Adapter\FieldMapper\Product\FieldProvider\FieldName\Resolver\NotEavAttribute</item>
  378. <item name="special" xsi:type="object" sortOrder="20">\Magento\Elasticsearch\Model\Adapter\FieldMapper\Product\FieldProvider\FieldName\Resolver\SpecialAttribute</item>
  379. <item name="price" xsi:type="object" sortOrder="30">\Magento\Elasticsearch\Model\Adapter\FieldMapper\Product\FieldProvider\FieldName\Resolver\Price</item>
  380. <item name="categoryName" xsi:type="object" sortOrder="40">\Magento\Elasticsearch\Model\Adapter\FieldMapper\Product\FieldProvider\FieldName\Resolver\CategoryName</item>
  381. <item name="position" xsi:type="object" sortOrder="50">\Magento\Elasticsearch\Model\Adapter\FieldMapper\Product\FieldProvider\FieldName\Resolver\Position</item>
  382. <item name="default" xsi:type="object" sortOrder="100">elasticsearch5FieldNameDefaultResolver</item>
  383. </argument>
  384. </arguments>
  385. </virtualType>
  386. <virtualType name="elasticsearch5FieldNameDefaultResolver" type="Magento\Elasticsearch\Model\Adapter\FieldMapper\Product\FieldProvider\FieldName\Resolver\DefaultResolver">
  387. <arguments>
  388. <argument name="fieldTypeResolver" xsi:type="object">\Magento\Elasticsearch\Elasticsearch5\Model\Adapter\FieldMapper\Product\FieldProvider\FieldType\Resolver\CompositeResolver</argument>
  389. <argument name="fieldTypeConverter" xsi:type="object">Magento\Elasticsearch\Elasticsearch5\Model\Adapter\FieldMapper\Product\FieldProvider\FieldType\Converter</argument>
  390. </arguments>
  391. </virtualType>
  392. <type name="Magento\Elasticsearch\Model\Adapter\FieldMapper\Product\FieldProvider\FieldType\Resolver\CompositeResolver">
  393. <arguments>
  394. <argument name="items" xsi:type="array">
  395. <item name="integer" xsi:type="object" sortOrder="10">\Magento\Elasticsearch\Model\Adapter\FieldMapper\Product\FieldProvider\FieldType\Resolver\IntegerType</item>
  396. <item name="datetime" xsi:type="object" sortOrder="20">\Magento\Elasticsearch\Model\Adapter\FieldMapper\Product\FieldProvider\FieldType\Resolver\DateTimeType</item>
  397. <item name="float" xsi:type="object" sortOrder="30">\Magento\Elasticsearch\Model\Adapter\FieldMapper\Product\FieldProvider\FieldType\Resolver\FloatType</item>
  398. <item name="default" xsi:type="object" sortOrder="100">\Magento\Elasticsearch\Model\Adapter\FieldMapper\Product\FieldProvider\FieldType\Resolver\DefaultResolver</item>
  399. </argument>
  400. </arguments>
  401. </type>
  402. <type name="Magento\Elasticsearch\Elasticsearch5\Model\Adapter\FieldMapper\Product\FieldProvider\FieldType\Resolver\CompositeResolver">
  403. <arguments>
  404. <argument name="items" xsi:type="array">
  405. <item name="keyword" xsi:type="object" sortOrder="10">\Magento\Elasticsearch\Elasticsearch5\Model\Adapter\FieldMapper\Product\FieldProvider\FieldType\Resolver\KeywordType</item>
  406. <item name="integer" xsi:type="object" sortOrder="20">\Magento\Elasticsearch\Elasticsearch5\Model\Adapter\FieldMapper\Product\FieldProvider\FieldType\Resolver\IntegerType</item>
  407. <item name="datetime" xsi:type="object" sortOrder="30">elasticsearch5FieldTypeDateTimeResolver</item>
  408. <item name="float" xsi:type="object" sortOrder="40">elasticsearch5FieldTypeFloatResolver</item>
  409. <item name="default" xsi:type="object" sortOrder="100">elasticsearch5FieldTypeDefaultResolver</item>
  410. </argument>
  411. </arguments>
  412. </type>
  413. <type name="Magento\Elasticsearch\Model\Adapter\FieldMapper\Product\CompositeFieldProvider">
  414. <arguments>
  415. <argument name="providers" xsi:type="array">
  416. <item name="static" xsi:type="object">\Magento\Elasticsearch\Model\Adapter\FieldMapper\Product\FieldProvider\StaticField</item>
  417. <item name="dynamic" xsi:type="object">\Magento\Elasticsearch\Model\Adapter\FieldMapper\Product\FieldProvider\DynamicField</item>
  418. </argument>
  419. </arguments>
  420. </type>
  421. <virtualType name="elasticsearch5FieldProvider" type="Magento\Elasticsearch\Model\Adapter\FieldMapper\Product\CompositeFieldProvider">
  422. <arguments>
  423. <argument name="providers" xsi:type="array">
  424. <item name="static" xsi:type="object">elasticsearch5StaticFieldProvider</item>
  425. <item name="dynamic" xsi:type="object">elasticsearch5DynamicFieldProvider</item>
  426. </argument>
  427. </arguments>
  428. </virtualType>
  429. <virtualType name="elasticsearch5StaticFieldProvider" type="\Magento\Elasticsearch\Model\Adapter\FieldMapper\Product\FieldProvider\StaticField">
  430. <arguments>
  431. <argument name="fieldTypeConverter" xsi:type="object">Magento\Elasticsearch\Elasticsearch5\Model\Adapter\FieldMapper\Product\FieldProvider\FieldType\Converter</argument>
  432. <argument name="indexTypeConverter" xsi:type="object">Magento\Elasticsearch\Elasticsearch5\Model\Adapter\FieldMapper\Product\FieldProvider\FieldIndex\Converter</argument>
  433. <argument name="fieldIndexResolver" xsi:type="object">Magento\Elasticsearch\Elasticsearch5\Model\Adapter\FieldMapper\Product\FieldProvider\FieldIndex\IndexResolver</argument>
  434. <argument name="fieldTypeResolver" xsi:type="object">\Magento\Elasticsearch\Elasticsearch5\Model\Adapter\FieldMapper\Product\FieldProvider\FieldType\Resolver\CompositeResolver</argument>
  435. <argument name="fieldNameResolver" xsi:type="object">elasticsearch5FieldNameResolver</argument>
  436. </arguments>
  437. </virtualType>
  438. <virtualType name="elasticsearch5DynamicFieldProvider" type="\Magento\Elasticsearch\Model\Adapter\FieldMapper\Product\FieldProvider\DynamicField">
  439. <arguments>
  440. <argument name="fieldTypeConverter" xsi:type="object">Magento\Elasticsearch\Elasticsearch5\Model\Adapter\FieldMapper\Product\FieldProvider\FieldType\Converter</argument>
  441. <argument name="indexTypeConverter" xsi:type="object">Magento\Elasticsearch\Elasticsearch5\Model\Adapter\FieldMapper\Product\FieldProvider\FieldIndex\Converter</argument>
  442. </arguments>
  443. </virtualType>
  444. <type name="Magento\Elasticsearch\Elasticsearch5\Model\Adapter\FieldMapper\Product\FieldProvider\FieldType\Resolver\KeywordType">
  445. <arguments>
  446. <argument name="fieldTypeConverter" xsi:type="object">Magento\Elasticsearch\Elasticsearch5\Model\Adapter\FieldMapper\Product\FieldProvider\FieldType\Converter</argument>
  447. </arguments>
  448. </type>
  449. <type name="Magento\Elasticsearch\Elasticsearch5\Model\Adapter\FieldMapper\Product\FieldProvider\FieldType\Resolver\IntegerType">
  450. <arguments>
  451. <argument name="fieldTypeConverter" xsi:type="object">Magento\Elasticsearch\Elasticsearch5\Model\Adapter\FieldMapper\Product\FieldProvider\FieldType\Converter</argument>
  452. </arguments>
  453. </type>
  454. <virtualType name="elasticsearch5FieldTypeDateTimeResolver" type="\Magento\Elasticsearch\Model\Adapter\FieldMapper\Product\FieldProvider\FieldType\Resolver\DateTimeType">
  455. <arguments>
  456. <argument name="fieldTypeConverter" xsi:type="object">Magento\Elasticsearch\Elasticsearch5\Model\Adapter\FieldMapper\Product\FieldProvider\FieldType\Converter</argument>
  457. </arguments>
  458. </virtualType>
  459. <virtualType name="elasticsearch5FieldTypeFloatResolver" type="\Magento\Elasticsearch\Model\Adapter\FieldMapper\Product\FieldProvider\FieldType\Resolver\FloatType">
  460. <arguments>
  461. <argument name="fieldTypeConverter" xsi:type="object">Magento\Elasticsearch\Elasticsearch5\Model\Adapter\FieldMapper\Product\FieldProvider\FieldType\Converter</argument>
  462. </arguments>
  463. </virtualType>
  464. <virtualType name="elasticsearch5FieldTypeDefaultResolver" type="\Magento\Elasticsearch\Model\Adapter\FieldMapper\Product\FieldProvider\FieldType\Resolver\DefaultResolver">
  465. <arguments>
  466. <argument name="fieldTypeConverter" xsi:type="object">Magento\Elasticsearch\Elasticsearch5\Model\Adapter\FieldMapper\Product\FieldProvider\FieldType\Converter</argument>
  467. </arguments>
  468. </virtualType>
  469. <type name="Magento\Elasticsearch\Model\Adapter\Elasticsearch">
  470. <arguments>
  471. <argument name="staticFieldProvider" xsi:type="object">elasticsearch5StaticFieldProvider</argument>
  472. </arguments>
  473. </type>
  474. <type name="Magento\Elasticsearch\Elasticsearch5\Model\Adapter\FieldMapper\ProductFieldMapper">
  475. <arguments>
  476. <argument name="fieldProvider" xsi:type="object">elasticsearch5FieldProvider</argument>
  477. <argument name="fieldNameResolver" xsi:type="object">elasticsearch5FieldNameResolver</argument>
  478. </arguments>
  479. </type>
  480. <type name="Magento\Elasticsearch\Elasticsearch5\Model\Adapter\FieldMapper\Product\FieldProvider\FieldIndex\IndexResolver">
  481. <arguments>
  482. <argument name="converter" xsi:type="object">Magento\Elasticsearch\Elasticsearch5\Model\Adapter\FieldMapper\Product\FieldProvider\FieldIndex\Converter</argument>
  483. <argument name="fieldTypeConverter" xsi:type="object">Magento\Elasticsearch\Elasticsearch5\Model\Adapter\FieldMapper\Product\FieldProvider\FieldType\Converter</argument>
  484. <argument name="fieldTypeResolver" xsi:type="object">\Magento\Elasticsearch\Elasticsearch5\Model\Adapter\FieldMapper\Product\FieldProvider\FieldType\Resolver\CompositeResolver</argument>
  485. </arguments>
  486. </type>
  487. <type name="Magento\Search\Model\Search\PageSizeProvider">
  488. <arguments>
  489. <argument name="pageSizeBySearchEngine" xsi:type="array">
  490. <item name="elasticsearch5" xsi:type="number">10000</item>
  491. </argument>
  492. </arguments>
  493. </type>
  494. <type name="Magento\Elasticsearch\SearchAdapter\Query\ValueTransformerPool">
  495. <arguments>
  496. <argument name="valueTransformers" xsi:type="array">
  497. <item name="default" xsi:type="object">Magento\Elasticsearch\SearchAdapter\Query\ValueTransformer\TextTransformer</item>
  498. <item name="date" xsi:type="object">Magento\Elasticsearch\SearchAdapter\Query\ValueTransformer\DateTransformer</item>
  499. <item name="float" xsi:type="object">Magento\Elasticsearch\SearchAdapter\Query\ValueTransformer\FloatTransformer</item>
  500. <item name="double" xsi:type="object">Magento\Elasticsearch\SearchAdapter\Query\ValueTransformer\FloatTransformer</item>
  501. <item name="integer" xsi:type="object">Magento\Elasticsearch\SearchAdapter\Query\ValueTransformer\IntegerTransformer</item>
  502. </argument>
  503. </arguments>
  504. </type>
  505. <type name="Magento\Elasticsearch\SearchAdapter\Query\ValueTransformer\TextTransformer">
  506. <arguments>
  507. <argument name="preprocessors" xsi:type="array">
  508. <item name="stopwordsPreprocessor" xsi:type="object">Magento\Elasticsearch\SearchAdapter\Query\Preprocessor\Stopwords</item>
  509. </argument>
  510. </arguments>
  511. </type>
  512. <type name="Magento\Elasticsearch\Model\Adapter\FieldMapper\Product\FieldProvider\StaticField">
  513. <arguments>
  514. <argument name="excludedAttributes" xsi:type="array">
  515. <item name="price" xsi:type="string">price</item>
  516. </argument>
  517. </arguments>
  518. </type>
  519. <type name="Magento\Elasticsearch\Setup\InstallConfig">
  520. <arguments>
  521. <argument name="searchConfigMapping" xsi:type="array">
  522. <item name="elasticsearch-host" xsi:type="string">elasticsearch5_server_hostname</item>
  523. <item name="elasticsearch-port" xsi:type="string">elasticsearch5_server_port</item>
  524. <item name="elasticsearch-timeout" xsi:type="string">elasticsearch5_server_timeout</item>
  525. <item name="elasticsearch-index-prefix" xsi:type="string">elasticsearch5_index_prefix</item>
  526. <item name="elasticsearch-enable-auth" xsi:type="string">elasticsearch5_enable_auth</item>
  527. <item name="elasticsearch-username" xsi:type="string">elasticsearch5_username</item>
  528. <item name="elasticsearch-password" xsi:type="string">elasticsearch5_password</item>
  529. </argument>
  530. </arguments>
  531. </type>
  532. <type name="Magento\Search\Setup\CompositeInstallConfig">
  533. <arguments>
  534. <argument name="installConfigList" xsi:type="array">
  535. <item name="elasticsearch5" xsi:type="object">Magento\Elasticsearch\Setup\InstallConfig</item>
  536. </argument>
  537. </arguments>
  538. </type>
  539. <type name="Magento\Search\Model\SearchEngine\Validator">
  540. <arguments>
  541. <argument name="excludedEngineList" xsi:type="array">
  542. <item name="elasticsearch" xsi:type="string">Elasticsearch 2</item>
  543. </argument>
  544. <argument name="engineValidators" xsi:type="array">
  545. <item name="elasticsearch5" xsi:type="object">Magento\Elasticsearch\Setup\Validator</item>
  546. </argument>
  547. </arguments>
  548. </type>
  549. <type name="Magento\Elasticsearch\Model\Indexer\Fulltext\Plugin\Category\Product\Attribute">
  550. <arguments>
  551. <argument name="dimensionProvider" xsi:type="object" shared="false">Magento\Store\Model\StoreDimensionProvider</argument>
  552. </arguments>
  553. </type>
  554. <type name="Magento\Catalog\Model\ResourceModel\Attribute">
  555. <plugin name="updateElasticsearchIndexerMapping" type="Magento\Elasticsearch\Model\Indexer\Fulltext\Plugin\Category\Product\Attribute"/>
  556. </type>
  557. <type name="Magento\Search\Model\ResourceModel\SynonymGroup">
  558. <plugin name="synonymReaderPlugin" type="Magento\Elasticsearch\Model\Indexer\Fulltext\Plugin\Search\Model\SynonymReaderPlugin"/>
  559. </type>
  560. <type name="Magento\Elasticsearch\Model\Indexer\IndexerHandler">
  561. <arguments>
  562. <argument name="cacheContext" xsi:type="object">Magento\Framework\Indexer\CacheContext\Proxy</argument>
  563. </arguments>
  564. </type>
  565. <type name="Magento\Catalog\Model\Product\ReservedAttributeList">
  566. <arguments>
  567. <argument name="reservedAttributes" xsi:type="array">
  568. <item name="category_name" xsi:type="string">category_name</item>
  569. </argument>
  570. </arguments>
  571. </type>
  572. </config>