選択できるのは25トピックまでです。 トピックは、先頭が英数字で、英数字とダッシュ('-')を使用した35文字以内のものにしてください。
 
 
 
 
 
 

265 行
14 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. <type name="Magento\Elasticsearch\Model\Config">
  10. <arguments>
  11. <argument name="engineList" xsi:type="array">
  12. <item name="elasticsearch7" xsi:type="string">elasticsearch7</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 sortOrder="30" name="elasticsearch7" xsi:type="string">Elasticsearch 7</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="elasticsearch7" 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\FieldMapper\ProductFieldMapperProxy">
  31. <arguments>
  32. <argument name="productFieldMappers" xsi:type="array">
  33. <item name="elasticsearch7" xsi:type="object">Magento\Elasticsearch7\Model\Adapter\FieldMapper\ProductFieldMapper</item>
  34. </argument>
  35. </arguments>
  36. </type>
  37. <type name="Magento\AdvancedSearch\Model\Client\ClientResolver">
  38. <arguments>
  39. <argument name="clientFactories" xsi:type="array">
  40. <item name="elasticsearch7" xsi:type="string">\Magento\Elasticsearch7\Model\Client\ElasticsearchFactory</item>
  41. </argument>
  42. <argument name="clientOptions" xsi:type="array">
  43. <item name="elasticsearch7" xsi:type="string">\Magento\Elasticsearch\Model\Config</item>
  44. </argument>
  45. </arguments>
  46. </type>
  47. <type name="Magento\CatalogSearch\Model\Indexer\IndexerHandlerFactory">
  48. <arguments>
  49. <argument name="handlers" xsi:type="array">
  50. <item name="elasticsearch7" xsi:type="string">Magento\Elasticsearch\Model\Indexer\IndexerHandler</item>
  51. </argument>
  52. </arguments>
  53. </type>
  54. <type name="Magento\CatalogSearch\Model\Indexer\IndexStructureFactory">
  55. <arguments>
  56. <argument name="structures" xsi:type="array">
  57. <item name="elasticsearch7" xsi:type="string">Magento\Elasticsearch\Model\Indexer\IndexStructure</item>
  58. </argument>
  59. </arguments>
  60. </type>
  61. <type name="Magento\CatalogSearch\Model\ResourceModel\EngineProvider">
  62. <arguments>
  63. <argument name="engines" xsi:type="array">
  64. <item name="elasticsearch7" xsi:type="string">Magento\Elasticsearch\Model\ResourceModel\Engine</item>
  65. </argument>
  66. </arguments>
  67. </type>
  68. <type name="Magento\Search\Model\AdapterFactory">
  69. <arguments>
  70. <argument name="adapters" xsi:type="array">
  71. <item name="elasticsearch7" xsi:type="string">\Magento\Elasticsearch7\SearchAdapter\Adapter</item>
  72. </argument>
  73. </arguments>
  74. </type>
  75. <type name="Magento\Search\Model\EngineResolver">
  76. <arguments>
  77. <argument name="engines" xsi:type="array">
  78. <item name="elasticsearch7" xsi:type="string">elasticsearch7</item>
  79. </argument>
  80. <argument name="defaultEngine" xsi:type="string">elasticsearch7</argument>
  81. </arguments>
  82. </type>
  83. <virtualType name="Magento\Elasticsearch7\Model\Client\ElasticsearchFactory" type="Magento\AdvancedSearch\Model\Client\ClientFactory">
  84. <arguments>
  85. <argument name="clientClass" xsi:type="string">Magento\Elasticsearch7\Model\Client\Elasticsearch</argument>
  86. </arguments>
  87. </virtualType>
  88. <type name="Magento\Elasticsearch\Elasticsearch5\Model\Client\ClientFactoryProxy">
  89. <arguments>
  90. <argument name="clientFactories" xsi:type="array">
  91. <item name="elasticsearch7" xsi:type="object">Magento\Elasticsearch7\Model\Client\ElasticsearchFactory</item>
  92. </argument>
  93. </arguments>
  94. </type>
  95. <type name="Magento\Framework\Search\Dynamic\IntervalFactory">
  96. <arguments>
  97. <argument name="intervals" xsi:type="array">
  98. <item name="elasticsearch7" xsi:type="string">Magento\Elasticsearch\Elasticsearch5\SearchAdapter\Aggregation\Interval</item>
  99. </argument>
  100. </arguments>
  101. </type>
  102. <type name="Magento\Framework\Search\Dynamic\DataProviderFactory">
  103. <arguments>
  104. <argument name="dataProviders" xsi:type="array">
  105. <item name="elasticsearch7" xsi:type="string">Magento\Elasticsearch\SearchAdapter\Dynamic\DataProvider</item>
  106. </argument>
  107. </arguments>
  108. </type>
  109. <virtualType name="Magento\Elasticsearch7\Model\DataProvider\Suggestions" type="Magento\Elasticsearch\Model\DataProvider\Base\Suggestions">
  110. <arguments>
  111. <argument name="fieldProvider" xsi:type="object">elasticsearch5FieldProvider</argument>
  112. </arguments>
  113. </virtualType>
  114. <type name="Magento\AdvancedSearch\Model\SuggestedQueries">
  115. <arguments>
  116. <argument name="data" xsi:type="array">
  117. <item name="elasticsearch7" xsi:type="string">Magento\Elasticsearch7\Model\DataProvider\Suggestions</item>
  118. </argument>
  119. </arguments>
  120. </type>
  121. <virtualType name="\Magento\Elasticsearch7\Model\Adapter\FieldMapper\Product\FieldProvider\FieldName\Resolver\CompositeResolver" type="\Magento\Elasticsearch\Model\Adapter\FieldMapper\Product\FieldProvider\FieldName\Resolver\CompositeResolver">
  122. <arguments>
  123. <argument name="items" xsi:type="array">
  124. <item name="notEav" xsi:type="object" sortOrder="10">\Magento\Elasticsearch\Model\Adapter\FieldMapper\Product\FieldProvider\FieldName\Resolver\NotEavAttribute</item>
  125. <item name="special" xsi:type="object" sortOrder="20">\Magento\Elasticsearch\Model\Adapter\FieldMapper\Product\FieldProvider\FieldName\Resolver\SpecialAttribute</item>
  126. <item name="price" xsi:type="object" sortOrder="30">\Magento\Elasticsearch\Model\Adapter\FieldMapper\Product\FieldProvider\FieldName\Resolver\Price</item>
  127. <item name="categoryName" xsi:type="object" sortOrder="40">\Magento\Elasticsearch\Model\Adapter\FieldMapper\Product\FieldProvider\FieldName\Resolver\CategoryName</item>
  128. <item name="position" xsi:type="object" sortOrder="50">\Magento\Elasticsearch\Model\Adapter\FieldMapper\Product\FieldProvider\FieldName\Resolver\Position</item>
  129. <item name="default" xsi:type="object" sortOrder="100">Magento\Elasticsearch7\Model\Adapter\FieldMapper\Product\FieldProvider\FieldName\Resolver\DefaultResolver</item>
  130. </argument>
  131. </arguments>
  132. </virtualType>
  133. <type name="Magento\Elasticsearch7\Model\Adapter\FieldMapper\Product\FieldProvider\FieldName\Resolver\DefaultResolver">
  134. <arguments>
  135. <argument name="baseResolver" xsi:type="object">Magento\Elasticsearch\Model\Adapter\FieldMapper\Product\FieldProvider\FieldName\Resolver\DefaultResolver</argument>
  136. </arguments>
  137. </type>
  138. <virtualType name="Magento\Elasticsearch7\Model\Adapter\FieldMapper\ProductFieldMapper"
  139. type="Magento\Elasticsearch\Elasticsearch5\Model\Adapter\FieldMapper\ProductFieldMapper">
  140. <arguments>
  141. <argument name="fieldProvider" xsi:type="object">elasticsearch5FieldProvider</argument>
  142. <argument name="fieldNameResolver" xsi:type="object">\Magento\Elasticsearch7\Model\Adapter\FieldMapper\Product\FieldProvider\FieldName\Resolver\CompositeResolver</argument>
  143. </arguments>
  144. </virtualType>
  145. <type name="Magento\Search\Model\Search\PageSizeProvider">
  146. <arguments>
  147. <argument name="pageSizeBySearchEngine" xsi:type="array">
  148. <item name="elasticsearch7" xsi:type="number">10000</item>
  149. </argument>
  150. </arguments>
  151. </type>
  152. <virtualType name="elasticsearchLayerCategoryItemCollectionProvider" type="Magento\Elasticsearch\Model\Layer\Category\ItemCollectionProvider">
  153. <arguments>
  154. <argument name="factories" xsi:type="array">
  155. <item name="elasticsearch7" xsi:type="object">elasticsearchCategoryCollectionFactory</item>
  156. </argument>
  157. </arguments>
  158. </virtualType>
  159. <type name="Magento\CatalogSearch\Model\Search\ItemCollectionProvider">
  160. <arguments>
  161. <argument name="factories" xsi:type="array">
  162. <item name="elasticsearch7" xsi:type="object">elasticsearchAdvancedCollectionFactory</item>
  163. <item name="default" xsi:type="object">elasticsearchAdvancedCollectionFactory</item>
  164. </argument>
  165. </arguments>
  166. </type>
  167. <type name="Magento\CatalogSearch\Model\Advanced\ProductCollectionPrepareStrategyProvider">
  168. <arguments>
  169. <argument name="strategies" xsi:type="array">
  170. <item name="elasticsearch7" xsi:type="object">Magento\Elasticsearch\Model\Advanced\ProductCollectionPrepareStrategy</item>
  171. </argument>
  172. </arguments>
  173. </type>
  174. <virtualType name="elasticsearchLayerSearchItemCollectionProvider" type="Magento\Elasticsearch\Model\Layer\Search\ItemCollectionProvider">
  175. <arguments>
  176. <argument name="factories" xsi:type="array">
  177. <item name="elasticsearch7" xsi:type="object">elasticsearchFulltextSearchCollectionFactory</item>
  178. </argument>
  179. </arguments>
  180. </virtualType>
  181. <type name="Magento\Config\Model\Config\TypePool">
  182. <arguments>
  183. <argument name="sensitive" xsi:type="array">
  184. <item name="catalog/search/elasticsearch7_password" xsi:type="string">1</item>
  185. <item name="catalog/search/elasticsearch7_server_hostname" xsi:type="string">1</item>
  186. <item name="catalog/search/elasticsearch7_username" xsi:type="string">1</item>
  187. </argument>
  188. <argument name="environment" xsi:type="array">
  189. <item name="catalog/search/elasticsearch7_enable_auth" xsi:type="string">1</item>
  190. <item name="catalog/search/elasticsearch7_index_prefix" xsi:type="string">1</item>
  191. <item name="catalog/search/elasticsearch7_password" xsi:type="string">1</item>
  192. <item name="catalog/search/elasticsearch7_server_hostname" xsi:type="string">1</item>
  193. <item name="catalog/search/elasticsearch7_server_port" xsi:type="string">1</item>
  194. <item name="catalog/search/elasticsearch7_username" xsi:type="string">1</item>
  195. <item name="catalog/search/elasticsearch7_server_timeout" xsi:type="string">1</item>
  196. </argument>
  197. </arguments>
  198. </type>
  199. <type name="Magento\Elasticsearch7\Model\Client\Elasticsearch">
  200. <arguments>
  201. <argument name="fieldsMappingPreprocessors" xsi:type="array">
  202. <item name="elasticsearch7_copy_searchable_fields_to_search_field" xsi:type="object">Magento\Elasticsearch\Model\Adapter\FieldMapper\CopySearchableFieldsToSearchField</item>
  203. <item name="elasticsearch7_add_default_search_field" xsi:type="object">Magento\Elasticsearch\Model\Adapter\FieldMapper\AddDefaultSearchField</item>
  204. </argument>
  205. </arguments>
  206. </type>
  207. <virtualType name="Magento\Elasticsearch7\Setup\InstallConfig" type="Magento\Elasticsearch\Setup\InstallConfig">
  208. <arguments>
  209. <argument name="searchConfigMapping" xsi:type="array">
  210. <item name="elasticsearch-host" xsi:type="string">elasticsearch7_server_hostname</item>
  211. <item name="elasticsearch-port" xsi:type="string">elasticsearch7_server_port</item>
  212. <item name="elasticsearch-timeout" xsi:type="string">elasticsearch7_server_timeout</item>
  213. <item name="elasticsearch-index-prefix" xsi:type="string">elasticsearch7_index_prefix</item>
  214. <item name="elasticsearch-enable-auth" xsi:type="string">elasticsearch7_enable_auth</item>
  215. <item name="elasticsearch-username" xsi:type="string">elasticsearch7_username</item>
  216. <item name="elasticsearch-password" xsi:type="string">elasticsearch7_password</item>
  217. </argument>
  218. </arguments>
  219. </virtualType>
  220. <type name="Magento\Search\Setup\CompositeInstallConfig">
  221. <arguments>
  222. <argument name="installConfigList" xsi:type="array">
  223. <item name="elasticsearch7" xsi:type="object">Magento\Elasticsearch7\Setup\InstallConfig</item>
  224. </argument>
  225. </arguments>
  226. </type>
  227. <type name="Magento\Search\Model\SearchEngine\Validator">
  228. <arguments>
  229. <argument name="engineValidators" xsi:type="array">
  230. <item name="elasticsearch7" xsi:type="object">Magento\Elasticsearch\Setup\Validator</item>
  231. </argument>
  232. </arguments>
  233. </type>
  234. <type name="Magento\Elasticsearch7\Model\Adapter\DynamicTemplatesProvider">
  235. <arguments>
  236. <argument name="mappers" xsi:type="array">
  237. <item name="price_mapping" xsi:type="object">Magento\Elasticsearch7\Model\Adapter\DynamicTemplates\PriceMapper</item>
  238. <item name="position_mapping" xsi:type="object">Magento\Elasticsearch7\Model\Adapter\DynamicTemplates\PositionMapper</item>
  239. <item name="string_mapping" xsi:type="object">Magento\Elasticsearch7\Model\Adapter\DynamicTemplates\StringMapper</item>
  240. <item name="integer_mapping" xsi:type="object">Magento\Elasticsearch7\Model\Adapter\DynamicTemplates\IntegerMapper</item>
  241. </argument>
  242. </arguments>
  243. </type>
  244. </config>