9
9
use Magento \Elasticsearch \SearchAdapter \Query \Builder \Sort ;
10
10
use Magento \Framework \App \ObjectManager ;
11
11
use Magento \Framework \Search \RequestInterface ;
12
- use Magento \Elasticsearch \Model \Config ;
13
- use Magento \Elasticsearch \SearchAdapter \SearchIndexNameResolver ;
14
- use Magento \Elasticsearch \SearchAdapter \Query \Builder \Aggregation as AggregationBuilder ;
15
- use Magento \Framework \App \ScopeResolverInterface ;
16
12
use Magento \Elasticsearch \Elasticsearch5 \SearchAdapter \Query \Builder as Elasticsearch5Builder ;
17
13
18
14
/**
@@ -28,30 +24,6 @@ class Builder extends Elasticsearch5Builder
28
24
*/
29
25
private $ sortBuilder ;
30
26
31
- /**
32
- * @param Config $clientConfig
33
- * @param SearchIndexNameResolver $searchIndexNameResolver
34
- * @param AggregationBuilder $aggregationBuilder
35
- * @param ScopeResolverInterface $scopeResolver
36
- * @param Sort|null $sortBuilder
37
- */
38
- public function __construct (
39
- Config $ clientConfig ,
40
- SearchIndexNameResolver $ searchIndexNameResolver ,
41
- AggregationBuilder $ aggregationBuilder ,
42
- ScopeResolverInterface $ scopeResolver ,
43
- Sort $ sortBuilder = null
44
- ) {
45
- $ this ->sortBuilder = $ sortBuilder ?: ObjectManager::getInstance ()->get (Sort::class);
46
- parent ::__construct (
47
- $ clientConfig ,
48
- $ searchIndexNameResolver ,
49
- $ aggregationBuilder ,
50
- $ scopeResolver ,
51
- $ this ->sortBuilder
52
- );
53
- }
54
-
55
27
/**
56
28
* Set initial settings for query.
57
29
*
@@ -70,10 +42,23 @@ public function initQuery(RequestInterface $request)
70
42
'from ' => $ request ->getFrom (),
71
43
'size ' => $ request ->getSize (),
72
44
'fields ' => ['_id ' , '_score ' ],
73
- 'sort ' => $ this ->sortBuilder ->getSort ($ request ),
45
+ 'sort ' => $ this ->getSortBuilder () ->getSort ($ request ),
74
46
'query ' => [],
75
47
],
76
48
];
77
49
return $ searchQuery ;
78
50
}
51
+
52
+ /**
53
+ * Get sort builder instance.
54
+ *
55
+ * @return Sort
56
+ */
57
+ private function getSortBuilder ()
58
+ {
59
+ if (null === $ this ->sortBuilder ) {
60
+ $ this ->sortBuilder = ObjectManager::getInstance ()->get (Sort::class);
61
+ }
62
+ return $ this ->sortBuilder ;
63
+ }
79
64
}
0 commit comments