2
2
3
3
namespace Elastica \Test \Query ;
4
4
5
- use Elastica \Query \ Rescore ;
5
+ use Elastica \Rescore \ Query as QueryRescore ;
6
6
use Elastica \Query \Term ;
7
7
use Elastica \Query \Match ;
8
+ use Elastica \Query ;
8
9
use Elastica \Test \Base as BaseTest ;
9
10
10
11
class RescoreTest extends BaseTest
11
12
{
13
+ /**
14
+ * @var Index
15
+ */
16
+ protected $ _index ;
17
+
18
+ protected function setUp ()
19
+ {
20
+ parent ::setUp ();
21
+ $ this ->_index = $ this ->_createIndex ("rescore_test " );
22
+ $ this ->_index ->refresh ();
23
+ }
24
+
12
25
public function testToArray ()
13
26
{
14
- $ query = new Rescore ();
27
+ $ query = new Query ();
15
28
$ mainQuery = new Match ();
16
29
$ mainQuery = $ mainQuery ->setFieldQuery ('test1 ' , 'foo ' );
17
- $ rescoreQuery = new Term ();
18
- $ rescoreQuery = $ rescoreQuery ->setTerm ('test2 ' , 'bar ' , 2 );
30
+ $ secQuery = new Term ();
31
+ $ secQuery = $ secQuery ->setTerm ('test2 ' , 'bar ' , 2 );
32
+ $ queryRescore = new QueryRescore ($ secQuery );
19
33
$ query ->setQuery ($ mainQuery );
20
- $ query ->setRescoreQuery ($ rescoreQuery );
21
-
34
+ $ query ->setRescore ($ queryRescore );
22
35
$ data = $ query ->toArray ();
36
+
23
37
$ expected = array (
24
38
'query ' => array (
25
39
'match ' => array (
@@ -47,16 +61,17 @@ public function testToArray()
47
61
48
62
public function testSetSize ()
49
63
{
50
- $ query = new Rescore ();
64
+ $ query = new Query ();
51
65
$ mainQuery = new Match ();
52
66
$ mainQuery = $ mainQuery ->setFieldQuery ('test1 ' , 'foo ' );
53
- $ rescoreQuery = new Term ();
54
- $ rescoreQuery = $ rescoreQuery ->setTerm ('test2 ' , 'bar ' , 2 );
67
+ $ secQuery = new Term ();
68
+ $ secQuery = $ secQuery ->setTerm ('test2 ' , 'bar ' , 2 );
69
+ $ queryRescore = new QueryRescore ($ secQuery );
70
+ $ queryRescore ->setWindowSize (50 );
55
71
$ query ->setQuery ($ mainQuery );
56
- $ query ->setRescoreQuery ($ rescoreQuery );
57
- $ query ->setWindowSize (50 );
58
-
72
+ $ query ->setRescore ($ queryRescore );
59
73
$ data = $ query ->toArray ();
74
+
60
75
$ expected = array (
61
76
'query ' => array (
62
77
'match ' => array (
@@ -85,18 +100,19 @@ public function testSetSize()
85
100
86
101
public function testSetWeights ()
87
102
{
88
- $ query = new Rescore ();
103
+ $ query = new Query ();
89
104
$ mainQuery = new Match ();
90
105
$ mainQuery = $ mainQuery ->setFieldQuery ('test1 ' , 'foo ' );
91
- $ rescoreQuery = new Term ();
92
- $ rescoreQuery = $ rescoreQuery ->setTerm ('test2 ' , 'bar ' , 2 );
106
+ $ secQuery = new Term ();
107
+ $ secQuery = $ secQuery ->setTerm ('test2 ' , 'bar ' , 2 );
108
+ $ queryRescore = new QueryRescore ($ secQuery );
109
+ $ queryRescore ->setWindowSize (50 );
110
+ $ queryRescore ->setQueryWeight (.7 );
111
+ $ queryRescore ->setRescoreQueryWeight (1.2 );
93
112
$ query ->setQuery ($ mainQuery );
94
- $ query ->setRescoreQuery ($ rescoreQuery );
95
- $ query ->setWindowSize (50 );
96
- $ query ->setQueryWeight (.7 );
97
- $ query ->setRescoreQueryWeight (1.2 );
98
-
113
+ $ query ->setRescore ($ queryRescore );
99
114
$ data = $ query ->toArray ();
115
+
100
116
$ expected = array (
101
117
'query ' => array (
102
118
'match ' => array (
@@ -116,12 +132,34 @@ public function testSetWeights()
116
132
),
117
133
),
118
134
),
135
+ 'query_weight ' => 0.7 ,
136
+ 'rescore_query_weight ' => 1.2
119
137
),
120
- 'query_weight ' => 0.7 ,
121
- 'rescore_query_weight ' => 1.2
122
138
),
123
139
);
124
140
125
141
$ this ->assertEquals ($ expected , $ data );
126
142
}
143
+
144
+ public function testQuery ()
145
+ {
146
+ $ query = new Query ();
147
+ $ mainQuery = new Match ();
148
+ $ mainQuery = $ mainQuery ->setFieldQuery ('test1 ' , 'foo ' );
149
+ $ secQuery = new Term ();
150
+ $ secQuery = $ secQuery ->setTerm ('test2 ' , 'bar ' , 2 );
151
+ $ queryRescore = new QueryRescore ($ secQuery );
152
+ $ queryRescore ->setWindowSize (50 );
153
+ $ queryRescore ->setQueryWeight (.7 );
154
+ $ queryRescore ->setRescoreQueryWeight (1.2 );
155
+ $ query ->setQuery ($ mainQuery );
156
+ $ query ->setRescore ($ queryRescore );
157
+ $ data = $ query ->toArray ();
158
+
159
+ $ results = $ this ->_index ->search ($ query );
160
+ $ response = $ results ->getResponse ();
161
+
162
+ $ this ->assertEquals (true , $ response ->isOk ());
163
+ $ this ->assertEquals (0 , $ results ->getTotalHits ());
164
+ }
127
165
}
0 commit comments