|
8 | 8 | // REMOVE_END
|
9 | 9 | // HIDE_START
|
10 | 10 | import java.util.List;
|
| 11 | +// REMOVE_START |
| 12 | +import java.util.stream.Stream; |
| 13 | +// REMOVE_END |
| 14 | + |
11 | 15 | import redis.clients.jedis.UnifiedJedis;
|
12 | 16 | import redis.clients.jedis.search.*;
|
13 | 17 | import redis.clients.jedis.search.schemafields.*;
|
@@ -212,105 +216,111 @@ public void run() {
|
212 | 216 |
|
213 | 217 |
|
214 | 218 | // STEP_START range1
|
215 |
| - SearchResult res1 = jedis.ftSearch("idx:bicycle", "@price:[500 1000]"); |
| 219 | + SearchResult res1 = jedis.ftSearch( |
| 220 | + "idx:bicycle", "@price:[500 1000]", |
| 221 | + FTSearchParams.searchParams().returnFields("price")); |
216 | 222 | System.out.println(res1.getTotalResults()); // >>> 3
|
217 | 223 |
|
218 | 224 | List<Document> docs1 = res1.getDocuments();
|
219 | 225 |
|
220 |
| - for (int i = 0; i < docs1.size(); i++) { |
221 |
| - System.out.println(docs1.get(i).getId()); |
| 226 | + for (Document document : docs1) { |
| 227 | + System.out.println(document.getId() + " : price " + document.getString("price")); |
222 | 228 | }
|
223 |
| - // >>> bicycle:2 |
224 |
| - // >>> bicycle:5 |
225 |
| - // >>> bicycle:9 |
| 229 | + // >>> bicycle:2 : price 815 |
| 230 | + // >>> bicycle:5 : price 810 |
| 231 | + // >>> bicycle:9 : price 815 |
226 | 232 | // STEP_END
|
227 | 233 |
|
228 | 234 | // Tests for 'range1' step.
|
229 | 235 | // REMOVE_START
|
230 | 236 | Assert.assertEquals(3, res1.getTotalResults());
|
231 |
| - Assert.assertEquals("bicycle:2", docs1.get(0).getId()); |
232 |
| - Assert.assertEquals("bicycle:5", docs1.get(1).getId()); |
233 |
| - Assert.assertEquals("bicycle:9", docs1.get(2).getId()); |
| 237 | + Assert.assertArrayEquals( |
| 238 | + Stream.of("bicycle:5", "bicycle:9", "bicycle:2").sorted().toArray(), |
| 239 | + docs1.stream().map(Document::getId).sorted().toArray() |
| 240 | + ); |
234 | 241 | // REMOVE_END
|
235 | 242 |
|
236 | 243 |
|
237 | 244 | // STEP_START range2
|
238 | 245 | SearchResult res2 = jedis.ftSearch("idx:bicycle",
|
239 | 246 | "*",
|
240 | 247 | FTSearchParams.searchParams()
|
241 |
| - .filter("price", 500, 1000) |
| 248 | + .returnFields("price") |
| 249 | + .filter("price", 500, 1000) |
242 | 250 | );
|
243 | 251 | System.out.println(res2.getTotalResults()); // >>> 3
|
244 | 252 |
|
245 | 253 | List<Document> docs2 = res2.getDocuments();
|
246 | 254 |
|
247 |
| - for (int i = 0; i < docs2.size(); i++) { |
248 |
| - System.out.println(docs2.get(i).getId()); |
| 255 | + for (Document document : docs2) { |
| 256 | + System.out.println(document.getId() + " : price " + document.getString("price")); |
249 | 257 | }
|
250 |
| - // >>> bicycle:2 |
251 |
| - // >>> bicycle:5 |
252 |
| - // >>> bicycle:9 |
| 258 | + // >>> bicycle:2 : price 815 |
| 259 | + // >>> bicycle:5 : price 810 |
| 260 | + // >>> bicycle:9 : price 815 |
253 | 261 | // STEP_END
|
254 | 262 |
|
255 | 263 | // Tests for 'range2' step.
|
256 | 264 | // REMOVE_START
|
257 | 265 | Assert.assertEquals(3, res2.getTotalResults());
|
258 |
| - Assert.assertEquals("bicycle:2", docs2.get(0).getId()); |
259 |
| - Assert.assertEquals("bicycle:5", docs2.get(1).getId()); |
260 |
| - Assert.assertEquals("bicycle:9", docs2.get(2).getId()); |
| 266 | + Assert.assertArrayEquals( |
| 267 | + Stream.of("bicycle:5", "bicycle:9", "bicycle:2").sorted().toArray(), |
| 268 | + docs2.stream().map(Document::getId).sorted().toArray() |
| 269 | + ); |
261 | 270 | // REMOVE_END
|
262 | 271 |
|
263 | 272 |
|
264 | 273 | // STEP_START range3
|
265 | 274 | SearchResult res3 = jedis.ftSearch("idx:bicycle",
|
266 | 275 | "*",
|
267 | 276 | FTSearchParams.searchParams()
|
268 |
| - .filter("price", 1000, true, Double.POSITIVE_INFINITY, false) |
| 277 | + .returnFields("price") |
| 278 | + .filter("price", 1000, true, Double.POSITIVE_INFINITY, false) |
269 | 279 | );
|
270 | 280 | System.out.println(res3.getTotalResults()); // >>> 5
|
271 | 281 |
|
272 | 282 | List<Document> docs3 = res3.getDocuments();
|
273 | 283 |
|
274 |
| - for (int i = 0; i < docs3.size(); i++) { |
275 |
| - System.out.println(docs3.get(i).getId()); |
| 284 | + for (Document document : docs3) { |
| 285 | + System.out.println(document.getId() + " : price " + document.getString("price")); |
276 | 286 | }
|
277 |
| - // >>> bicycle:1 |
278 |
| - // >>> bicycle:4 |
279 |
| - // >>> bicycle:6 |
280 |
| - // >>> bicycle:3 |
281 |
| - // >>> bicycle:8 |
| 287 | + // >>> bicycle:1 : price 1200 |
| 288 | + // >>> bicycle:4 : price 3200 |
| 289 | + // >>> bicycle:6 : price 2300 |
| 290 | + // >>> bicycle:3 : price 3400 |
| 291 | + // >>> bicycle:8 : price 1200 |
282 | 292 | // STEP_END
|
283 | 293 |
|
284 | 294 | // Tests for 'range3' step.
|
285 | 295 | // REMOVE_START
|
286 | 296 | Assert.assertEquals(5, res3.getTotalResults());
|
287 |
| - Assert.assertEquals("bicycle:1", docs3.get(0).getId()); |
288 |
| - Assert.assertEquals("bicycle:4", docs3.get(1).getId()); |
289 |
| - Assert.assertEquals("bicycle:6", docs3.get(2).getId()); |
290 |
| - Assert.assertEquals("bicycle:3", docs3.get(3).getId()); |
291 |
| - Assert.assertEquals("bicycle:8", docs3.get(4).getId()); |
| 297 | + Assert.assertArrayEquals( |
| 298 | + Stream.of("bicycle:1", "bicycle:4", "bicycle:6", "bicycle:3", "bicycle:8").sorted() |
| 299 | + .toArray(), |
| 300 | + docs3.stream().map(Document::getId).sorted().toArray()); |
292 | 301 | // REMOVE_END
|
293 | 302 |
|
294 | 303 |
|
295 | 304 | // STEP_START range4
|
296 | 305 | SearchResult res4 = jedis.ftSearch("idx:bicycle",
|
297 | 306 | "@price:[-inf 2000]",
|
298 | 307 | FTSearchParams.searchParams()
|
| 308 | + .returnFields("price") |
299 | 309 | .sortBy("price", SortingOrder.ASC)
|
300 | 310 | .limit(0, 5)
|
301 | 311 | );
|
302 | 312 | System.out.println(res4.getTotalResults()); // >>> 7
|
303 | 313 |
|
304 | 314 | List<Document> docs4 = res4.getDocuments();
|
305 | 315 |
|
306 |
| - for (int i = 0; i < docs4.size(); i++) { |
307 |
| - System.out.println(docs4.get(i).getId()); |
| 316 | + for (Document document : docs4) { |
| 317 | + System.out.println(document.getId() + " : price " + document.getString("price")); |
308 | 318 | }
|
309 |
| - // >>> bicycle:0 |
310 |
| - // >>> bicycle:7 |
311 |
| - // >>> bicycle:5 |
312 |
| - // >>> bicycle:2 |
313 |
| - // >>> bicycle:9 |
| 319 | + // >>> bicycle:0 : price 270 |
| 320 | + // >>> bicycle:7 : price 430 |
| 321 | + // >>> bicycle:5 : price 810 |
| 322 | + // >>> bicycle:2 : price 815 |
| 323 | + // >>> bicycle:9 : price 815 |
314 | 324 | // STEP_END
|
315 | 325 |
|
316 | 326 | // Tests for 'range4' step.
|
|
0 commit comments