Skip to content

Commit 86bc48b

Browse files
committed
MAGETWO-97830: Elasticsearch date field crash quicksearch
1 parent 0e57029 commit 86bc48b

File tree

2 files changed

+11
-1
lines changed
  • app/code/Magento/Elasticsearch

2 files changed

+11
-1
lines changed

app/code/Magento/Elasticsearch/SearchAdapter/Query/Builder/Match.php

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -113,7 +113,7 @@ protected function buildQueries(array $matches, array $queryValue)
113113

114114
// Checking for quoted phrase \"phrase test\", trim escaped surrounding quotes if found
115115
$count = 0;
116-
$value = preg_replace('#^\\\\"(.*)\\\\"$#m', '$1', $queryValue['value'], -1, $count);
116+
$value = preg_replace('#^"(.*)"$#m', '$1', $queryValue['value'], -1, $count);
117117
$condition = ($count) ? 'match_phrase' : 'match';
118118

119119
$attributesTypes = $this->fieldMapper->getAllAttributesTypes();

app/code/Magento/Elasticsearch/Test/Unit/SearchAdapter/Query/Builder/MatchTest.php

Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -7,6 +7,8 @@
77

88
use Magento\Elasticsearch\Model\Adapter\FieldMapperInterface;
99
use Magento\Elasticsearch\SearchAdapter\Query\Builder\Match as MatchQueryBuilder;
10+
use Magento\Elasticsearch\SearchAdapter\Query\ValueTransformerInterface;
11+
use Magento\Elasticsearch\SearchAdapter\Query\ValueTransformerPool;
1012
use Magento\Framework\Search\Request\Query\Match as MatchRequestQuery;
1113
use Magento\Framework\TestFramework\Unit\Helper\ObjectManager;
1214
use PHPUnit_Framework_MockObject_MockObject as MockObject;
@@ -23,11 +25,19 @@ class MatchTest extends \PHPUnit\Framework\TestCase
2325
*/
2426
protected function setUp()
2527
{
28+
$valueTransformerPoolMock = $this->createMock(ValueTransformerPool::class);
29+
$valueTransformerMock = $this->createMock(ValueTransformerInterface::class);
30+
$valueTransformerPoolMock->method('get')
31+
->willReturn($valueTransformerMock);
32+
$valueTransformerMock->method('transform')
33+
->willReturnArgument(0);
34+
2635
$this->matchQueryBuilder = (new ObjectManager($this))->getObject(
2736
MatchQueryBuilder::class,
2837
[
2938
'fieldMapper' => $this->getFieldMapper(),
3039
'preprocessorContainer' => [],
40+
'valueTransformerPool' => $valueTransformerPoolMock,
3141
]
3242
);
3343
}

0 commit comments

Comments
 (0)