TermLevel::terms()   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 Triadev\Es\Dsl\Dsl\AbstractDsl;
5
use ONGR\ElasticsearchDSL\Query\MatchAllQuery;
6
use ONGR\ElasticsearchDSL\Query\TermLevel\ExistsQuery;
7
use ONGR\ElasticsearchDSL\Query\TermLevel\FuzzyQuery;
8
use ONGR\ElasticsearchDSL\Query\TermLevel\IdsQuery;
9
use ONGR\ElasticsearchDSL\Query\TermLevel\PrefixQuery;
10
use ONGR\ElasticsearchDSL\Query\TermLevel\RangeQuery;
11
use ONGR\ElasticsearchDSL\Query\TermLevel\RegexpQuery;
12
use ONGR\ElasticsearchDSL\Query\TermLevel\TermQuery;
13
use ONGR\ElasticsearchDSL\Query\TermLevel\TermsQuery;
14
use ONGR\ElasticsearchDSL\Query\TermLevel\TypeQuery;
15
use ONGR\ElasticsearchDSL\Query\TermLevel\WildcardQuery;
16
17
class TermLevel extends AbstractDsl
18
{
19
    /**
20
     * Match all
21
     *
22
     * @return TermLevel
23
     */
24
    public function matchAll() : TermLevel
25
    {
26
        return $this->append(new MatchAllQuery());
27
    }
28
    
29
    /**
30
     * Exists
31
     *
32
     * @param string $field
33
     * @return TermLevel
34
     */
35 1
    public function exists(string $field): TermLevel
36
    {
37 1
        return $this->append(new ExistsQuery($field));
38
    }
39
    
40
    /**
41
     * Fuzzy
42
     *
43
     * @param string $field
44
     * @param string $value
45
     * @param array $params
46
     * @return TermLevel
47
     */
48 1
    public function fuzzy(string $field, string $value, array $params = []): TermLevel
49
    {
50 1
        return $this->append(new FuzzyQuery($field, $value, $params));
51
    }
52
    
53
    /**
54
     * Ids
55
     *
56
     * @param array $values
57
     * @param array $params
58
     * @return TermLevel
59
     */
60 1
    public function ids(array $values, array $params = []): TermLevel
61
    {
62 1
        return $this->append(new IdsQuery($values, $params));
63
    }
64
    
65
    /**
66
     * Prefix
67
     *
68
     * @param string $field
69
     * @param string $value
70
     * @param array $params
71
     * @return TermLevel
72
     */
73 1
    public function prefix(string $field, string $value, array $params = []): TermLevel
74
    {
75 1
        return $this->append(new PrefixQuery($field, $value, $params));
76
    }
77
    
78
    /**
79
     * Range
80
     *
81
     * @param string $field
82
     * @param array $params
83
     * @return TermLevel
84
     */
85 1
    public function range(string $field, array $params = []): TermLevel
86
    {
87 1
        return $this->append(new RangeQuery($field, $params));
88
    }
89
    
90
    /**
91
     * Regexp
92
     *
93
     * @param string $field
94
     * @param string $value
95
     * @param array $params
96
     * @return TermLevel
97
     */
98 1
    public function regexp(string $field, string $value, array $params = []): TermLevel
99
    {
100 1
        return $this->append(new RegexpQuery($field, $value, $params));
101
    }
102
    
103
    /**
104
     * Term
105
     *
106
     * @param string $field
107
     * @param string $value
108
     * @return TermLevel
109
     */
110 15
    public function term(string $field, string $value): TermLevel
111
    {
112 15
        return $this->append(new TermQuery($field, $value));
113
    }
114
    
115
    /**
116
     * Terms
117
     *
118
     * @param string $field
119
     * @param array $values
120
     * @param array $params
121
     * @return TermLevel
122
     */
123 1
    public function terms(string $field, array $values, array $params = []): TermLevel
124
    {
125 1
        return $this->append(new TermsQuery($field, $values, $params));
126
    }
127
    
128
    /**
129
     * Type
130
     *
131
     * @param string $type
132
     * @return TermLevel
133
     */
134 1
    public function type(string $type) : TermLevel
135
    {
136 1
        return $this->append(new TypeQuery($type));
137
    }
138
    
139
    /**
140
     * Wildcard
141
     *
142
     * @param string $field
143
     * @param string $value
144
     * @param array $params
145
     * @return TermLevel
146
     */
147 1
    public function wildcard(string $field, string $value, array $params = []): TermLevel
148
    {
149 1
        return $this->append(new WildcardQuery($field, $value, $params));
150
    }
151
}
152