di.xml 7.9 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173
  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. <type name="Magento\Elasticsearch\Model\Config">
  10. <arguments>
  11. <argument name="engineList" xsi:type="array">
  12. <item name="elasticsearch6" xsi:type="string">elasticsearch6</item>
  13. </argument>
  14. </arguments>
  15. </type>
  16. <type name="Magento\Search\Model\Adminhtml\System\Config\Source\Engine">
  17. <arguments>
  18. <argument name="engines" xsi:type="array">
  19. <item name="elasticsearch6" xsi:type="string">Elasticsearch 6.0+</item>
  20. </argument>
  21. </arguments>
  22. </type>
  23. <type name="Magento\Elasticsearch\Elasticsearch5\Model\Adapter\BatchDataMapper\CategoryFieldsProviderProxy">
  24. <arguments>
  25. <argument name="categoryFieldsProviders" xsi:type="array">
  26. <item name="elasticsearch6" xsi:type="object">Magento\Elasticsearch\Elasticsearch5\Model\Adapter\BatchDataMapper\CategoryFieldsProvider</item>
  27. </argument>
  28. </arguments>
  29. </type>
  30. <type name="Magento\Elasticsearch\Elasticsearch5\Model\Adapter\DataMapper\ProductDataMapperProxy">
  31. <arguments>
  32. <argument name="dataMappers" xsi:type="array">
  33. <item name="elasticsearch6" xsi:type="object">Magento\Elasticsearch\Elasticsearch5\Model\Adapter\DataMapper\ProductDataMapper</item>
  34. </argument>
  35. </arguments>
  36. </type>
  37. <type name="Magento\Elasticsearch\Elasticsearch5\Model\Adapter\FieldMapper\ProductFieldMapperProxy">
  38. <arguments>
  39. <argument name="productFieldMappers" xsi:type="array">
  40. <item name="elasticsearch6" xsi:type="object">Magento\Elasticsearch6\Model\Adapter\FieldMapper\ProductFieldMapper</item>
  41. </argument>
  42. </arguments>
  43. </type>
  44. <type name="Magento\AdvancedSearch\Model\Client\ClientResolver">
  45. <arguments>
  46. <argument name="clientFactories" xsi:type="array">
  47. <item name="elasticsearch6" xsi:type="string">\Magento\Elasticsearch6\Model\Client\ElasticsearchFactory</item>
  48. </argument>
  49. <argument name="clientOptions" xsi:type="array">
  50. <item name="elasticsearch6" xsi:type="string">\Magento\Elasticsearch\Model\Config</item>
  51. </argument>
  52. </arguments>
  53. </type>
  54. <type name="Magento\CatalogSearch\Model\Indexer\IndexerHandlerFactory">
  55. <arguments>
  56. <argument name="handlers" xsi:type="array">
  57. <item name="elasticsearch6" xsi:type="string">Magento\Elasticsearch\Model\Indexer\IndexerHandler</item>
  58. </argument>
  59. </arguments>
  60. </type>
  61. <type name="Magento\CatalogSearch\Model\Indexer\IndexStructureFactory">
  62. <arguments>
  63. <argument name="structures" xsi:type="array">
  64. <item name="elasticsearch6" xsi:type="string">Magento\Elasticsearch\Model\Indexer\IndexStructure</item>
  65. </argument>
  66. </arguments>
  67. </type>
  68. <type name="Magento\CatalogSearch\Model\ResourceModel\EngineProvider">
  69. <arguments>
  70. <argument name="engines" xsi:type="array">
  71. <item name="elasticsearch6" xsi:type="string">Magento\Elasticsearch\Model\ResourceModel\Engine</item>
  72. </argument>
  73. </arguments>
  74. </type>
  75. <type name="Magento\Search\Model\AdapterFactory">
  76. <arguments>
  77. <argument name="adapters" xsi:type="array">
  78. <item name="elasticsearch6" xsi:type="string">Magento\Elasticsearch\Elasticsearch5\SearchAdapter\Adapter</item>
  79. </argument>
  80. </arguments>
  81. </type>
  82. <type name="Magento\Search\Model\EngineResolver">
  83. <arguments>
  84. <argument name="engines" xsi:type="array">
  85. <item name="elasticsearch6" xsi:type="string">elasticsearch6</item>
  86. </argument>
  87. </arguments>
  88. </type>
  89. <virtualType name="Magento\Elasticsearch6\Model\Client\ElasticsearchFactory" type="Magento\AdvancedSearch\Model\Client\ClientFactory">
  90. <arguments>
  91. <argument name="clientClass" xsi:type="string">Magento\Elasticsearch6\Model\Client\Elasticsearch</argument>
  92. </arguments>
  93. </virtualType>
  94. <type name="Magento\Elasticsearch\Elasticsearch5\Model\Client\ClientFactoryProxy">
  95. <arguments>
  96. <argument name="clientFactories" xsi:type="array">
  97. <item name="elasticsearch6" xsi:type="object">Magento\Elasticsearch6\Model\Client\ElasticsearchFactory</item>
  98. </argument>
  99. </arguments>
  100. </type>
  101. <type name="Magento\Framework\Search\Dynamic\IntervalFactory">
  102. <arguments>
  103. <argument name="intervals" xsi:type="array">
  104. <item name="elasticsearch6" xsi:type="string">Magento\Elasticsearch\Elasticsearch5\SearchAdapter\Aggregation\Interval</item>
  105. </argument>
  106. </arguments>
  107. </type>
  108. <type name="Magento\Framework\Search\Dynamic\DataProviderFactory">
  109. <arguments>
  110. <argument name="dataProviders" xsi:type="array">
  111. <item name="elasticsearch6" xsi:type="string">Magento\Elasticsearch\SearchAdapter\Dynamic\DataProvider</item>
  112. </argument>
  113. </arguments>
  114. </type>
  115. <type name="Magento\AdvancedSearch\Model\SuggestedQueries">
  116. <arguments>
  117. <argument name="data" xsi:type="array">
  118. <item name="elasticsearch6" xsi:type="string">Magento\Elasticsearch6\Model\DataProvider\Suggestions</item>
  119. </argument>
  120. </arguments>
  121. </type>
  122. <type name="Magento\Elasticsearch6\Model\DataProvider\Suggestions">
  123. <arguments>
  124. <argument name="fieldProvider" xsi:type="object">elasticsearch5FieldProvider</argument>
  125. </arguments>
  126. </type>
  127. <virtualType name="elasticsearch6FieldNameResolver" type="\Magento\Elasticsearch\Model\Adapter\FieldMapper\Product\FieldProvider\FieldName\Resolver\CompositeResolver">
  128. <arguments>
  129. <argument name="items" xsi:type="array">
  130. <item name="notEav" xsi:type="object">\Magento\Elasticsearch\Model\Adapter\FieldMapper\Product\FieldProvider\FieldName\Resolver\NotEavAttribute</item>
  131. <item name="special" xsi:type="object">\Magento\Elasticsearch\Model\Adapter\FieldMapper\Product\FieldProvider\FieldName\Resolver\SpecialAttribute</item>
  132. <item name="price" xsi:type="object">\Magento\Elasticsearch\Model\Adapter\FieldMapper\Product\FieldProvider\FieldName\Resolver\Price</item>
  133. <item name="categoryName" xsi:type="object">\Magento\Elasticsearch\Model\Adapter\FieldMapper\Product\FieldProvider\FieldName\Resolver\CategoryName</item>
  134. <item name="position" xsi:type="object">\Magento\Elasticsearch\Model\Adapter\FieldMapper\Product\FieldProvider\FieldName\Resolver\Position</item>
  135. <item name="default" xsi:type="object">\Magento\Elasticsearch6\Model\Adapter\FieldMapper\Product\FieldProvider\FieldName\Resolver\DefaultResolver</item>
  136. </argument>
  137. </arguments>
  138. </virtualType>
  139. <virtualType name="Magento\Elasticsearch6\Model\Adapter\FieldMapper\ProductFieldMapper"
  140. type="Magento\Elasticsearch\Elasticsearch5\Model\Adapter\FieldMapper\ProductFieldMapper">
  141. <arguments>
  142. <argument name="fieldProvider" xsi:type="object">elasticsearch5FieldProvider</argument>
  143. <argument name="fieldNameResolver" xsi:type="object">elasticsearch6FieldNameResolver</argument>
  144. </arguments>
  145. </virtualType>
  146. <type name="Magento\Search\Model\Search\PageSizeProvider">
  147. <arguments>
  148. <argument name="pageSizeBySearchEngine" xsi:type="array">
  149. <item name="elasticsearch6" xsi:type="number">10000</item>
  150. </argument>
  151. </arguments>
  152. </type>
  153. </config>