Skip to content

Commit f3d7a0d

Browse files
authored
Merge pull request #3877 from magento-engcom/1-es6-2.3-develop
[EngCom] Elasticsearch 6 Support
2 parents c7c7e3d + a814747 commit f3d7a0d

File tree

13 files changed

+69
-105
lines changed

13 files changed

+69
-105
lines changed

.travis.yml

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -54,7 +54,6 @@ cache:
5454
- $HOME/node_modules
5555
- $HOME/yarn.lock
5656
before_install:
57-
- curl -O https://download.elastic.co/elasticsearch/release/org/elasticsearch/distribution/deb/elasticsearch/2.3.0/elasticsearch-2.3.0.deb && sudo dpkg -i --force-confnew elasticsearch-2.3.0.deb && sudo service elasticsearch restart
5857
- ./dev/travis/before_install.sh
5958
install: composer install --no-interaction
6059
before_script: ./dev/travis/before_script.sh

app/code/Magento/Elasticsearch/Model/Config.php

Lines changed: 11 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -25,8 +25,6 @@ class Config implements ClientOptionsInterface
2525
*/
2626
const ENGINE_NAME = 'elasticsearch';
2727

28-
private const ENGINE_NAME_5 = 'elasticsearch5';
29-
3028
/**
3129
* Elasticsearch Entity type
3230
*/
@@ -64,23 +62,31 @@ class Config implements ClientOptionsInterface
6462
private $engineResolver;
6563

6664
/**
67-
* Constructor
65+
* Available Elasticsearch engines.
6866
*
67+
* @var array
68+
*/
69+
private $engineList;
70+
71+
/**
6972
* @param ScopeConfigInterface $scopeConfig
7073
* @param ClientResolver|null $clientResolver
7174
* @param EngineResolverInterface|null $engineResolver
7275
* @param string|null $prefix
76+
* @param array $engineList
7377
*/
7478
public function __construct(
7579
ScopeConfigInterface $scopeConfig,
7680
ClientResolver $clientResolver = null,
7781
EngineResolverInterface $engineResolver = null,
78-
$prefix = null
82+
$prefix = null,
83+
$engineList = []
7984
) {
8085
$this->scopeConfig = $scopeConfig;
8186
$this->clientResolver = $clientResolver ?: ObjectManager::getInstance()->get(ClientResolver::class);
8287
$this->engineResolver = $engineResolver ?: ObjectManager::getInstance()->get(EngineResolverInterface::class);
8388
$this->prefix = $prefix ?: $this->clientResolver->getCurrentEngine();
89+
$this->engineList = $engineList;
8490
}
8591

8692
/**
@@ -138,7 +144,7 @@ public function getSearchConfigData($field, $storeId = null)
138144
*/
139145
public function isElasticsearchEnabled()
140146
{
141-
return in_array($this->engineResolver->getCurrentSearchEngine(), [self::ENGINE_NAME, self::ENGINE_NAME_5]);
147+
return in_array($this->engineResolver->getCurrentSearchEngine(), $this->engineList);
142148
}
143149

144150
/**

app/code/Magento/Elasticsearch/etc/di.xml

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -13,6 +13,14 @@
1313
<preference for="Magento\Elasticsearch\Model\Adapter\FieldMapper\Product\FieldProvider\FieldIndex\ConverterInterface" type="Magento\Elasticsearch\Model\Adapter\FieldMapper\Product\FieldProvider\FieldIndex\Converter" />
1414
<preference for="Magento\Elasticsearch\Model\Adapter\FieldMapper\Product\FieldProvider\FieldType\ConverterInterface" type="Magento\Elasticsearch\Model\Adapter\FieldMapper\Product\FieldProvider\FieldType\Converter" />
1515
<preference for="Magento\Elasticsearch\Model\Adapter\FieldMapper\Product\FieldProviderInterface" type="Magento\Elasticsearch\Model\Adapter\FieldMapper\Product\CompositeFieldProvider" />
16+
<type name="Magento\Elasticsearch\Model\Config">
17+
<arguments>
18+
<argument name="engineList" xsi:type="array">
19+
<item name="elasticsearch" xsi:type="string">elasticsearch</item>
20+
<item name="elasticsearch5" xsi:type="string">elasticsearch5</item>
21+
</argument>
22+
</arguments>
23+
</type>
1624

1725
<virtualType name="Magento\Elasticsearch\Model\Layer\Search\Context" type="Magento\Catalog\Model\Layer\Search\Context">
1826
<arguments>

app/code/Magento/Elasticsearch6/Model/Config.php

Lines changed: 0 additions & 56 deletions
This file was deleted.

app/code/Magento/Elasticsearch6/Model/DataProvider/Suggestions.php

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -9,7 +9,7 @@
99
use Magento\Store\Model\ScopeInterface;
1010
use Magento\Search\Model\QueryInterface;
1111
use Magento\AdvancedSearch\Model\SuggestedQueriesInterface;
12-
use Magento\Elasticsearch6\Model\Config;
12+
use Magento\Elasticsearch\Model\Config;
1313
use Magento\Elasticsearch\SearchAdapter\ConnectionManager;
1414
use Magento\Search\Model\QueryResultFactory;
1515
use Magento\Framework\App\Config\ScopeConfigInterface;

app/code/Magento/Elasticsearch6/Test/Unit/Model/DataProvider/SuggestionsTest.php

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -67,7 +67,7 @@ class SuggestionsTest extends \PHPUnit\Framework\TestCase
6767
*/
6868
protected function setUp()
6969
{
70-
$this->config = $this->getMockBuilder(\Magento\Elasticsearch6\Model\Config::class)
70+
$this->config = $this->getMockBuilder(\Magento\Elasticsearch\Model\Config::class)
7171
->disableOriginalConstructor()
7272
->setMethods(['isElasticsearchEnabled'])
7373
->getMock();

app/code/Magento/Elasticsearch6/etc/di.xml

Lines changed: 9 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -6,6 +6,14 @@
66
*/
77
-->
88
<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+
917
<type name="Magento\Search\Model\Adminhtml\System\Config\Source\Engine">
1018
<arguments>
1119
<argument name="engines" xsi:type="array">
@@ -44,7 +52,7 @@
4452
<item name="elasticsearch6" xsi:type="string">\Magento\Elasticsearch6\Model\Client\ElasticsearchFactory</item>
4553
</argument>
4654
<argument name="clientOptions" xsi:type="array">
47-
<item name="elasticsearch6" xsi:type="string">\Magento\Elasticsearch6\Model\Config</item>
55+
<item name="elasticsearch6" xsi:type="string">\Magento\Elasticsearch\Model\Config</item>
4856
</argument>
4957
</arguments>
5058
</type>

dev/tests/integration/testsuite/Magento/Elasticsearch/Elasticsearch5/SearchAdapter/AdapterTest.php

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -43,7 +43,7 @@ protected function setUp()
4343
$contentManager = $this->getMockBuilder(\Magento\Elasticsearch\SearchAdapter\ConnectionManager::class)
4444
->disableOriginalConstructor()
4545
->getMock();
46-
$this->clientMock = $this->getMockBuilder(\Magento\Elasticsearch\Model\Client\Elasticsearch::class)
46+
$this->clientMock = $this->getMockBuilder(\Magento\Elasticsearch6\Model\Client\Elasticsearch::class)
4747
->disableOriginalConstructor()
4848
->getMock();
4949
$contentManager
@@ -78,7 +78,7 @@ protected function setUp()
7878

7979
/**
8080
* @magentoAppIsolation enabled
81-
* @magentoConfigFixture default/catalog/search/engine elasticsearch
81+
* @magentoConfigFixture default/catalog/search/engine elasticsearch6
8282
* @magentoConfigFixture current_store catalog/search/elasticsearch_index_prefix adaptertest
8383
* @return void
8484
*/

dev/tests/integration/testsuite/Magento/Elasticsearch/Model/Client/ElasticsearchTest.php

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -10,7 +10,7 @@
1010
use Magento\TestFramework\Helper\Bootstrap;
1111
use Magento\Store\Model\StoreManagerInterface;
1212
use Magento\Elasticsearch\SearchAdapter\ConnectionManager;
13-
use Magento\Elasticsearch\Model\Client\Elasticsearch as ElasticsearchClient;
13+
use Magento\Elasticsearch6\Model\Client\Elasticsearch as ElasticsearchClient;
1414
use Magento\Elasticsearch\Model\Config;
1515
use Magento\Elasticsearch\SearchAdapter\SearchIndexNameResolver;
1616

@@ -95,7 +95,7 @@ private function search($text)
9595
}
9696

9797
/**
98-
* @magentoConfigFixture default/catalog/search/engine elasticsearch
98+
* @magentoConfigFixture default/catalog/search/engine elasticsearch6
9999
* @magentoConfigFixture current_store catalog/search/elasticsearch_index_prefix composite_product_search
100100
*/
101101
public function testSearchConfigurableProductBySimpleProductName()
@@ -104,7 +104,7 @@ public function testSearchConfigurableProductBySimpleProductName()
104104
}
105105

106106
/**
107-
* @magentoConfigFixture default/catalog/search/engine elasticsearch
107+
* @magentoConfigFixture default/catalog/search/engine elasticsearch6
108108
* @magentoConfigFixture current_store catalog/search/elasticsearch_index_prefix composite_product_search
109109
*/
110110
public function testSearchConfigurableProductBySimpleProductAttributeMultiselect()
@@ -113,7 +113,7 @@ public function testSearchConfigurableProductBySimpleProductAttributeMultiselect
113113
}
114114

115115
/**
116-
* @magentoConfigFixture default/catalog/search/engine elasticsearch
116+
* @magentoConfigFixture default/catalog/search/engine elasticsearch6
117117
* @magentoConfigFixture current_store catalog/search/elasticsearch_index_prefix composite_product_search
118118
*/
119119
public function testSearchConfigurableProductBySimpleProductAttributeSelect()
@@ -122,7 +122,7 @@ public function testSearchConfigurableProductBySimpleProductAttributeSelect()
122122
}
123123

124124
/**
125-
* @magentoConfigFixture default/catalog/search/engine elasticsearch
125+
* @magentoConfigFixture default/catalog/search/engine elasticsearch6
126126
* @magentoConfigFixture current_store catalog/search/elasticsearch_index_prefix composite_product_search
127127
*/
128128
public function testSearchConfigurableProductBySimpleProductAttributeShortDescription()

dev/tests/integration/testsuite/Magento/Elasticsearch/Model/Indexer/IndexHandlerTest.php

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -13,7 +13,7 @@
1313
use Magento\TestFramework\Helper\Bootstrap;
1414
use Magento\Store\Model\StoreManagerInterface;
1515
use Magento\Elasticsearch\SearchAdapter\ConnectionManager;
16-
use Magento\Elasticsearch\Model\Client\Elasticsearch as ElasticsearchClient;
16+
use Magento\Elasticsearch6\Model\Client\Elasticsearch as ElasticsearchClient;
1717
use Magento\Elasticsearch\Model\Config;
1818
use Magento\Elasticsearch\SearchAdapter\SearchIndexNameResolver;
1919
use Magento\Indexer\Model\Indexer;
@@ -87,7 +87,7 @@ protected function setUp()
8787
}
8888

8989
/**
90-
* @magentoConfigFixture default/catalog/search/engine elasticsearch
90+
* @magentoConfigFixture default/catalog/search/engine elasticsearch6
9191
* @magentoConfigFixture current_store catalog/search/elasticsearch_index_prefix indexerhandlertest
9292
* @return void
9393
*/
@@ -106,7 +106,7 @@ public function testReindexAll(): void
106106

107107
/**
108108
* @magentoAppIsolation enabled
109-
* @magentoConfigFixture default/catalog/search/engine elasticsearch
109+
* @magentoConfigFixture default/catalog/search/engine elasticsearch6
110110
* @magentoConfigFixture current_store catalog/search/elasticsearch_index_prefix indexerhandlertest
111111
* @return void
112112
*/
@@ -131,7 +131,7 @@ public function testReindexRowAfterEdit(): void
131131
}
132132

133133
/**
134-
* @magentoConfigFixture default/catalog/search/engine elasticsearch
134+
* @magentoConfigFixture default/catalog/search/engine elasticsearch6
135135
* @magentoConfigFixture current_store catalog/search/elasticsearch_index_prefix indexerhandlertest
136136
* @return void
137137
*/
@@ -170,7 +170,7 @@ public function testReindexRowAfterMassAction(): void
170170
}
171171

172172
/**
173-
* @magentoConfigFixture default/catalog/search/engine elasticsearch
173+
* @magentoConfigFixture default/catalog/search/engine elasticsearch6
174174
* @magentoConfigFixture current_store catalog/search/elasticsearch_index_prefix indexerhandlertest
175175
* @magentoAppArea adminhtml
176176
* @return void
@@ -192,7 +192,7 @@ public function testReindexRowAfterDelete(): void
192192
/**
193193
* @magentoDbIsolation enabled
194194
* @magentoAppArea adminhtml
195-
* @magentoConfigFixture default/catalog/search/engine elasticsearch
195+
* @magentoConfigFixture default/catalog/search/engine elasticsearch6
196196
* @magentoConfigFixture current_store catalog/search/elasticsearch_index_prefix indexerhandlertest
197197
* @magentoDataFixture Magento/Elasticsearch/_files/configurable_products.php
198198
* @return void

dev/tests/integration/testsuite/Magento/Elasticsearch/Model/Indexer/ReindexAllTest.php

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -68,7 +68,7 @@ protected function setUp()
6868
/**
6969
* Test search of all products after full reindex
7070
*
71-
* @magentoConfigFixture default/catalog/search/engine elasticsearch
71+
* @magentoConfigFixture default/catalog/search/engine elasticsearch6
7272
* @magentoConfigFixture current_store catalog/search/elasticsearch_index_prefix indexerhandlertest_configurable
7373
* @magentoDataFixture Magento/ConfigurableProduct/_files/configurable_products.php
7474
*/
@@ -82,7 +82,7 @@ public function testSearchAll()
8282
/**
8383
* Test search of specific product after full reindex
8484
*
85-
* @magentoConfigFixture default/catalog/search/engine elasticsearch
85+
* @magentoConfigFixture default/catalog/search/engine elasticsearch6
8686
* @magentoConfigFixture current_store catalog/search/elasticsearch_index_prefix indexerhandlertest_configurable
8787
* @magentoDataFixture Magento/ConfigurableProduct/_files/configurable_products.php
8888
*/

0 commit comments

Comments
 (0)