Fulltext::multiMatch()   A
last analyzed

Complexity

Conditions 1
Paths 1

Size

Total Lines 3
Code Lines 1

Duplication

Lines 0
Ratio 0 %

Code Coverage

Tests 2
CRAP Score 1

Importance

Changes 0
Metric Value
cc 1
eloc 1
nc 1
nop 3
dl 0
loc 3
ccs 2
cts 2
cp 1
crap 1
rs 10
c 0
b 0
f 0
1
<?php
2
namespace Triadev\Es\Dsl\Dsl\Query;
3
4
use ONGR\ElasticsearchDSL\Query\FullText\CommonTermsQuery;
5
use ONGR\ElasticsearchDSL\Query\FullText\MatchPhrasePrefixQuery;
6
use ONGR\ElasticsearchDSL\Query\FullText\MatchPhraseQuery;
7
use ONGR\ElasticsearchDSL\Query\FullText\MatchQuery;
8
use ONGR\ElasticsearchDSL\Query\FullText\MultiMatchQuery;
9
use ONGR\ElasticsearchDSL\Query\FullText\QueryStringQuery;
10
use ONGR\ElasticsearchDSL\Query\FullText\SimpleQueryStringQuery;
11
use Triadev\Es\Dsl\Dsl\AbstractDsl;
12
13
class Fulltext extends AbstractDsl
14
{
15
    /**
16
     * Match
17
     *
18
     * @param string $field
19
     * @param string $query
20
     * @param array $params
21
     * @return Fulltext
22
     */
23 2
    public function match(string $field, string $query, array $params = []) : Fulltext
24
    {
25 2
        return $this->append(new MatchQuery($field, $query, $params));
26
    }
27
    
28
    /**
29
     * Match phrase
30
     *
31
     * @param string $field
32
     * @param string $query
33
     * @param array $params
34
     * @return Fulltext
35
     */
36 1
    public function matchPhrase(string $field, string $query, array $params = []): Fulltext
37
    {
38 1
        return $this->append(new MatchPhraseQuery($field, $query, $params));
39
    }
40
    
41
    /**
42
     * Match phrase prefix
43
     *
44
     * @param string $field
45
     * @param string $query
46
     * @param array $params
47
     * @return Fulltext
48
     */
49 1
    public function matchPhrasePrefix(string $field, string $query, array $params = []): Fulltext
50
    {
51 1
        return $this->append(new MatchPhrasePrefixQuery($field, $query, $params));
52
    }
53
    
54
    /**
55
     * Multi match
56
     *
57
     * @param array $fields
58
     * @param string $query
59
     * @param array $params
60
     * @return Fulltext
61
     */
62 1
    public function multiMatch(array $fields, string $query, array $params = []): Fulltext
63
    {
64 1
        return $this->append(new MultiMatchQuery($fields, $query, $params));
65
    }
66
    
67
    /**
68
     * Query string
69
     *
70
     * @param string $query
71
     * @param array $params
72
     * @return Fulltext
73
     */
74 1
    public function queryString(string $query, array $params = []): Fulltext
75
    {
76 1
        return $this->append(new QueryStringQuery($query, $params));
77
    }
78
    
79
    /**
80
     * Simple query string
81
     *
82
     * @param string $query
83
     * @param array $params
84
     * @return Fulltext
85
     */
86 1
    public function simpleQueryString(string $query, array $params = []): Fulltext
87
    {
88 1
        return $this->append(new SimpleQueryStringQuery($query, $params));
89
    }
90
    
91
    /**
92
     * Common terms
93
     *
94
     * @param string $field
95
     * @param string $query
96
     * @param array $params
97
     * @return Fulltext
98
     */
99 1
    public function commonTerms(string $field, string $query, array $params = []): Fulltext
100
    {
101 1
        return $this->append(new CommonTermsQuery($field, $query, $params));
102
    }
103
}
104