ChandimaPrabath commited on
Commit
1c47f6b
·
1 Parent(s): bd7f098
Files changed (3) hide show
  1. smart_search.py +2 -2
  2. test_api.py +102 -18
  3. test_results.json +659 -0
smart_search.py CHANGED
@@ -55,13 +55,13 @@ class SmartSearch:
55
  # Search films
56
  films = self.index['films']
57
  for film in films:
58
- if query in film or fuzz.partial_ratio(query, film) > 60: # Adjusted threshold
59
  results['films'].append(films[film])
60
 
61
  # Search TV series
62
  tv_series = self.index['tv_series']
63
  for series, data in tv_series.items():
64
- if query in series or fuzz.partial_ratio(query, series) > 85: # Adjusted threshold
65
  results['tv_series'].append(data['original'])
66
  else:
67
  for episode in data['episodes']:
 
55
  # Search films
56
  films = self.index['films']
57
  for film in films:
58
+ if query in film or fuzz.partial_ratio(query, film) > 50: # Adjusted threshold
59
  results['films'].append(films[film])
60
 
61
  # Search TV series
62
  tv_series = self.index['tv_series']
63
  for series, data in tv_series.items():
64
+ if query in series or fuzz.partial_ratio(query, series) > 50: # Adjusted threshold
65
  results['tv_series'].append(data['original'])
66
  else:
67
  for episode in data['episodes']:
test_api.py CHANGED
@@ -14,7 +14,78 @@ test_queries = [
14
  {"query": "grand blue"},
15
  {"query": "Non-existent Title"},
16
  {"query": "yariyan 203"},
17
- {"query": "My spey"} # Intentional typo to test fuzzy matching
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
18
  ]
19
 
20
  async def fetch_results(client, query):
@@ -32,25 +103,38 @@ async def fetch_results(client, query):
32
  duration = time.time() - start_time
33
  return query['query'], str(e), duration
34
 
35
- async def stress_test_api(num_requests):
36
  async with httpx.AsyncClient() as client:
37
- queries = [test_queries[i % len(test_queries)] for i in range(num_requests)] # Generate a large number of queries
38
- tasks = [fetch_results(client, query) for query in queries]
39
- start_time = time.time() # Start timing for stress test
40
- results = await asyncio.gather(*tasks)
41
- total_duration = time.time() - start_time
42
 
43
- for query, result, duration in results:
44
- print(f"Results for '{query}' (Time: {duration:.2f}s):")
45
- if isinstance(result, str):
46
- print(result)
47
- else:
48
- print(json.dumps(result, indent=4))
49
- print("\n" + "="*50 + "\n")
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
50
 
51
- print(f"Stress Test Completed: {num_requests} requests in {total_duration:.2f} seconds")
52
- print(f"Average Request Time: {total_duration / num_requests:.2f} seconds")
53
 
54
  if __name__ == "__main__":
55
- num_requests = 200 # Adjust this number for your stress test
56
- asyncio.run(stress_test_api(num_requests))
 
14
  {"query": "grand blue"},
15
  {"query": "Non-existent Title"},
16
  {"query": "yariyan 203"},
17
+ {"query": "My spey"}, # Intentional typo to test fuzzy matching
18
+
19
+ # Additional misspelled and errored queries
20
+ {"query": "my pi"},
21
+ {"query": "aho gir"},
22
+ {"query": "yaariyan"},
23
+ {"query": "grand ble"},
24
+ {"query": "non exsitent title"},
25
+ {"query": "yariyan 20"},
26
+ {"query": "My spay"},
27
+
28
+ # Misspellings with slight variations
29
+ {"query": "yariiyn"},
30
+ {"query": "goand blue"},
31
+ {"query": "grnd blue"},
32
+ {"query": "aho grl"},
33
+ {"query": "yaariyan 2023"},
34
+ {"query": "my pye"},
35
+
36
+ # Variations in spacing and formatting
37
+ {"query": "my py"},
38
+ {"query": "aho girl"},
39
+ {"query": " yarian"},
40
+ {"query": "grandblue"},
41
+ {"query": " non-existent title"},
42
+ {"query": "yariyan203"},
43
+ {"query": "My spey"},
44
+
45
+ # More complex misspellings and typos
46
+ {"query": "ma py"},
47
+ {"query": "aho girrl"},
48
+ {"query": "yarran"},
49
+ {"query": "grnd blu"},
50
+ {"query": "nonxistent title"},
51
+ {"query": "yariyan 2-3"},
52
+ {"query": "Mey spey"},
53
+
54
+ # Phonetic errors and similar sounding words
55
+ {"query": "my pie"},
56
+ {"query": "aho girl"},
57
+ {"query": "yariyan"},
58
+ {"query": "grand bluee"},
59
+ {"query": "noe existent title"},
60
+ {"query": "yarryan"},
61
+ {"query": "Mai spay"},
62
+
63
+ # Common typographical errors
64
+ {"query": "myy py"},
65
+ {"query": "aho giirl"},
66
+ {"query": "yaaryan"},
67
+ {"query": "grand ble"},
68
+ {"query": "non existant title"},
69
+ {"query": "yarian 203"},
70
+ {"query": "My speay"},
71
+
72
+ # Random and varied input
73
+ {"query": "py my"},
74
+ {"query": "giri aho"},
75
+ {"query": "yariiian"},
76
+ {"query": "blue grand"},
77
+ {"query": "existant non title"},
78
+ {"query": "203 yariyan"},
79
+ {"query": "spey my"},
80
+
81
+ # Edge cases
82
+ {"query": " "},
83
+ {"query": "!@#$%^&*()"},
84
+ {"query": "123456"},
85
+ {"query": "aaaaaaa"},
86
+ {"query": "zzzzzzz"},
87
+ {"query": " "},
88
+ {"query": " "},
89
  ]
90
 
91
  async def fetch_results(client, query):
 
103
  duration = time.time() - start_time
104
  return query['query'], str(e), duration
105
 
106
+ async def stress_test_api(num_times):
107
  async with httpx.AsyncClient() as client:
108
+ all_results = []
109
+ total_start_time = time.time() # Start timing for stress test
 
 
 
110
 
111
+ for _ in range(num_times):
112
+ queries = test_queries[:] # Create a copy of the test queries
113
+ tasks = [fetch_results(client, query) for query in queries]
114
+ results = await asyncio.gather(*tasks)
115
+ all_results.extend(results) # Collect all results
116
+
117
+ total_duration = time.time() - total_start_time
118
+
119
+ # Write results to a file
120
+ with open('test_results.json', 'w') as f:
121
+ json.dump({
122
+ 'total_requests': num_times * len(test_queries),
123
+ 'total_time_seconds': total_duration,
124
+ 'average_request_time_seconds': total_duration / (num_times * len(test_queries)),
125
+ 'results': [
126
+ {
127
+ 'query': query,
128
+ 'result': result,
129
+ 'duration_seconds': duration
130
+ }
131
+ for query, result, duration in all_results
132
+ ]
133
+ }, f, indent=4)
134
 
135
+ print(f"Stress Test Completed: {num_times * len(test_queries)} requests in {total_duration:.2f} seconds")
136
+ print(f"Average Request Time: {total_duration / (num_times * len(test_queries)):.2f} seconds")
137
 
138
  if __name__ == "__main__":
139
+ num_times = 1 # Number of times to run the entire list of queries
140
+ asyncio.run(stress_test_api(num_times))
test_results.json ADDED
@@ -0,0 +1,659 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ {
2
+ "total_requests": 62,
3
+ "total_time_seconds": 1.7063205242156982,
4
+ "average_request_time_seconds": 0.02752129877767255,
5
+ "results": [
6
+ {
7
+ "query": "my py",
8
+ "result": {
9
+ "films": [
10
+ "My spy 2020",
11
+ "My spy 2024"
12
+ ],
13
+ "tv_series": []
14
+ },
15
+ "duration_seconds": 1.4841241836547852
16
+ },
17
+ {
18
+ "query": "ahoh girl",
19
+ "result": {
20
+ "films": [],
21
+ "tv_series": [
22
+ "Aho Girl"
23
+ ]
24
+ },
25
+ "duration_seconds": 1.4197540283203125
26
+ },
27
+ {
28
+ "query": "yarian",
29
+ "result": {
30
+ "films": [
31
+ "Yaariayan (2014)",
32
+ "Yaariyan 2 (2023)"
33
+ ],
34
+ "tv_series": []
35
+ },
36
+ "duration_seconds": 1.4848639965057373
37
+ },
38
+ {
39
+ "query": "grand blue",
40
+ "result": {
41
+ "films": [],
42
+ "tv_series": [
43
+ "Grand Blue"
44
+ ]
45
+ },
46
+ "duration_seconds": 1.4688007831573486
47
+ },
48
+ {
49
+ "query": "Non-existent Title",
50
+ "result": {
51
+ "films": [],
52
+ "tv_series": []
53
+ },
54
+ "duration_seconds": 1.3537144660949707
55
+ },
56
+ {
57
+ "query": "yariyan 203",
58
+ "result": {
59
+ "films": [
60
+ "Yaariayan (2014)",
61
+ "Yaariyan 2 (2023)"
62
+ ],
63
+ "tv_series": []
64
+ },
65
+ "duration_seconds": 1.4040346145629883
66
+ },
67
+ {
68
+ "query": "My spey",
69
+ "result": {
70
+ "films": [
71
+ "My spy 2020",
72
+ "My spy 2024"
73
+ ],
74
+ "tv_series": []
75
+ },
76
+ "duration_seconds": 1.371983528137207
77
+ },
78
+ {
79
+ "query": "my pi",
80
+ "result": {
81
+ "films": [
82
+ "My spy 2020",
83
+ "My spy 2024"
84
+ ],
85
+ "tv_series": []
86
+ },
87
+ "duration_seconds": 1.4355041980743408
88
+ },
89
+ {
90
+ "query": "aho gir",
91
+ "result": {
92
+ "films": [],
93
+ "tv_series": [
94
+ "Aho Girl"
95
+ ]
96
+ },
97
+ "duration_seconds": 1.469144582748413
98
+ },
99
+ {
100
+ "query": "yaariyan",
101
+ "result": {
102
+ "films": [
103
+ "Yaariayan (2014)",
104
+ "Yaariyan 2 (2023)"
105
+ ],
106
+ "tv_series": []
107
+ },
108
+ "duration_seconds": 1.5642743110656738
109
+ },
110
+ {
111
+ "query": "grand ble",
112
+ "result": {
113
+ "films": [],
114
+ "tv_series": [
115
+ "Grand Blue"
116
+ ]
117
+ },
118
+ "duration_seconds": 1.4742071628570557
119
+ },
120
+ {
121
+ "query": "non exsitent title",
122
+ "result": {
123
+ "films": [],
124
+ "tv_series": []
125
+ },
126
+ "duration_seconds": 1.5915160179138184
127
+ },
128
+ {
129
+ "query": "yariyan 20",
130
+ "result": {
131
+ "films": [
132
+ "Yaariayan (2014)",
133
+ "Yaariyan 2 (2023)"
134
+ ],
135
+ "tv_series": []
136
+ },
137
+ "duration_seconds": 1.6088531017303467
138
+ },
139
+ {
140
+ "query": "My spay",
141
+ "result": {
142
+ "films": [
143
+ "My spy 2020",
144
+ "My spy 2024"
145
+ ],
146
+ "tv_series": []
147
+ },
148
+ "duration_seconds": 1.372572422027588
149
+ },
150
+ {
151
+ "query": "yariiyn",
152
+ "result": {
153
+ "films": [
154
+ "Yaariayan (2014)",
155
+ "Yaariyan 2 (2023)"
156
+ ],
157
+ "tv_series": []
158
+ },
159
+ "duration_seconds": 1.584017276763916
160
+ },
161
+ {
162
+ "query": "goand blue",
163
+ "result": {
164
+ "films": [],
165
+ "tv_series": [
166
+ "Grand Blue"
167
+ ]
168
+ },
169
+ "duration_seconds": 1.4455275535583496
170
+ },
171
+ {
172
+ "query": "grnd blue",
173
+ "result": {
174
+ "films": [],
175
+ "tv_series": [
176
+ "Grand Blue"
177
+ ]
178
+ },
179
+ "duration_seconds": 1.3933169841766357
180
+ },
181
+ {
182
+ "query": "aho grl",
183
+ "result": {
184
+ "films": [],
185
+ "tv_series": [
186
+ "Aho Girl"
187
+ ]
188
+ },
189
+ "duration_seconds": 1.368102788925171
190
+ },
191
+ {
192
+ "query": "yaariyan 2023",
193
+ "result": {
194
+ "films": [
195
+ "Yaariayan (2014)",
196
+ "Yaariyan 2 (2023)"
197
+ ],
198
+ "tv_series": []
199
+ },
200
+ "duration_seconds": 1.352870225906372
201
+ },
202
+ {
203
+ "query": "my pye",
204
+ "result": {
205
+ "films": [
206
+ "My spy 2020",
207
+ "My spy 2024"
208
+ ],
209
+ "tv_series": []
210
+ },
211
+ "duration_seconds": 1.397933006286621
212
+ },
213
+ {
214
+ "query": "my py",
215
+ "result": {
216
+ "films": [
217
+ "My spy 2020",
218
+ "My spy 2024"
219
+ ],
220
+ "tv_series": []
221
+ },
222
+ "duration_seconds": 1.429577350616455
223
+ },
224
+ {
225
+ "query": "aho girl",
226
+ "result": {
227
+ "films": [],
228
+ "tv_series": [
229
+ "Aho Girl"
230
+ ]
231
+ },
232
+ "duration_seconds": 1.429746389389038
233
+ },
234
+ {
235
+ "query": " yarian",
236
+ "result": {
237
+ "films": [
238
+ "Yaariayan (2014)",
239
+ "Yaariyan 2 (2023)"
240
+ ],
241
+ "tv_series": []
242
+ },
243
+ "duration_seconds": 1.464320421218872
244
+ },
245
+ {
246
+ "query": "grandblue",
247
+ "result": {
248
+ "films": [],
249
+ "tv_series": [
250
+ "Grand Blue"
251
+ ]
252
+ },
253
+ "duration_seconds": 1.4759633541107178
254
+ },
255
+ {
256
+ "query": " non-existent title",
257
+ "result": {
258
+ "films": [],
259
+ "tv_series": []
260
+ },
261
+ "duration_seconds": 1.551069736480713
262
+ },
263
+ {
264
+ "query": "yariyan203",
265
+ "result": {
266
+ "films": [
267
+ "Yaariayan (2014)",
268
+ "Yaariyan 2 (2023)"
269
+ ],
270
+ "tv_series": []
271
+ },
272
+ "duration_seconds": 1.5933642387390137
273
+ },
274
+ {
275
+ "query": "My spey",
276
+ "result": {
277
+ "films": [
278
+ "My spy 2020",
279
+ "My spy 2024"
280
+ ],
281
+ "tv_series": []
282
+ },
283
+ "duration_seconds": 1.537498950958252
284
+ },
285
+ {
286
+ "query": "ma py",
287
+ "result": {
288
+ "films": [],
289
+ "tv_series": []
290
+ },
291
+ "duration_seconds": 1.481874704360962
292
+ },
293
+ {
294
+ "query": "aho girrl",
295
+ "result": {
296
+ "films": [],
297
+ "tv_series": [
298
+ "Aho Girl"
299
+ ]
300
+ },
301
+ "duration_seconds": 1.5327003002166748
302
+ },
303
+ {
304
+ "query": "yarran",
305
+ "result": {
306
+ "films": [
307
+ "Yaariayan (2014)",
308
+ "Yaariyan 2 (2023)"
309
+ ],
310
+ "tv_series": []
311
+ },
312
+ "duration_seconds": 1.501513957977295
313
+ },
314
+ {
315
+ "query": "grnd blu",
316
+ "result": {
317
+ "films": [],
318
+ "tv_series": [
319
+ "Grand Blue"
320
+ ]
321
+ },
322
+ "duration_seconds": 1.5297787189483643
323
+ },
324
+ {
325
+ "query": "nonxistent title",
326
+ "result": {
327
+ "films": [],
328
+ "tv_series": []
329
+ },
330
+ "duration_seconds": 1.5622646808624268
331
+ },
332
+ {
333
+ "query": "yariyan 2-3",
334
+ "result": {
335
+ "films": [
336
+ "Yaariayan (2014)",
337
+ "Yaariyan 2 (2023)"
338
+ ],
339
+ "tv_series": []
340
+ },
341
+ "duration_seconds": 1.5111773014068604
342
+ },
343
+ {
344
+ "query": "Mey spey",
345
+ "result": {
346
+ "films": [
347
+ "My spy 2020",
348
+ "My spy 2024"
349
+ ],
350
+ "tv_series": []
351
+ },
352
+ "duration_seconds": 1.4231441020965576
353
+ },
354
+ {
355
+ "query": "my pie",
356
+ "result": {
357
+ "films": [
358
+ "My spy 2020",
359
+ "My spy 2024"
360
+ ],
361
+ "tv_series": []
362
+ },
363
+ "duration_seconds": 1.5060768127441406
364
+ },
365
+ {
366
+ "query": "aho girl",
367
+ "result": {
368
+ "films": [],
369
+ "tv_series": [
370
+ "Aho Girl"
371
+ ]
372
+ },
373
+ "duration_seconds": 1.5176587104797363
374
+ },
375
+ {
376
+ "query": "yariyan",
377
+ "result": {
378
+ "films": [
379
+ "Yaariayan (2014)",
380
+ "Yaariyan 2 (2023)"
381
+ ],
382
+ "tv_series": []
383
+ },
384
+ "duration_seconds": 1.5459609031677246
385
+ },
386
+ {
387
+ "query": "grand bluee",
388
+ "result": {
389
+ "films": [],
390
+ "tv_series": [
391
+ "Grand Blue"
392
+ ]
393
+ },
394
+ "duration_seconds": 1.521008014678955
395
+ },
396
+ {
397
+ "query": "noe existent title",
398
+ "result": {
399
+ "films": [],
400
+ "tv_series": []
401
+ },
402
+ "duration_seconds": 1.5748546123504639
403
+ },
404
+ {
405
+ "query": "yarryan",
406
+ "result": {
407
+ "films": [
408
+ "Yaariayan (2014)",
409
+ "Yaariyan 2 (2023)"
410
+ ],
411
+ "tv_series": []
412
+ },
413
+ "duration_seconds": 1.559558629989624
414
+ },
415
+ {
416
+ "query": "Mai spay",
417
+ "result": {
418
+ "films": [
419
+ "My spy 2020",
420
+ "My spy 2024"
421
+ ],
422
+ "tv_series": []
423
+ },
424
+ "duration_seconds": 1.4738705158233643
425
+ },
426
+ {
427
+ "query": "myy py",
428
+ "result": {
429
+ "films": [
430
+ "My spy 2020",
431
+ "My spy 2024"
432
+ ],
433
+ "tv_series": []
434
+ },
435
+ "duration_seconds": 1.4069621562957764
436
+ },
437
+ {
438
+ "query": "aho giirl",
439
+ "result": {
440
+ "films": [],
441
+ "tv_series": [
442
+ "Aho Girl"
443
+ ]
444
+ },
445
+ "duration_seconds": 1.4198143482208252
446
+ },
447
+ {
448
+ "query": "yaaryan",
449
+ "result": {
450
+ "films": [
451
+ "Yaariayan (2014)",
452
+ "Yaariyan 2 (2023)"
453
+ ],
454
+ "tv_series": []
455
+ },
456
+ "duration_seconds": 1.3619236946105957
457
+ },
458
+ {
459
+ "query": "grand ble",
460
+ "result": {
461
+ "films": [],
462
+ "tv_series": [
463
+ "Grand Blue"
464
+ ]
465
+ },
466
+ "duration_seconds": 1.4600882530212402
467
+ },
468
+ {
469
+ "query": "non existant title",
470
+ "result": {
471
+ "films": [],
472
+ "tv_series": []
473
+ },
474
+ "duration_seconds": 1.351660966873169
475
+ },
476
+ {
477
+ "query": "yarian 203",
478
+ "result": {
479
+ "films": [
480
+ "Yaariayan (2014)",
481
+ "Yaariyan 2 (2023)"
482
+ ],
483
+ "tv_series": []
484
+ },
485
+ "duration_seconds": 1.4830808639526367
486
+ },
487
+ {
488
+ "query": "My speay",
489
+ "result": {
490
+ "films": [
491
+ "My spy 2020",
492
+ "My spy 2024"
493
+ ],
494
+ "tv_series": []
495
+ },
496
+ "duration_seconds": 1.39369797706604
497
+ },
498
+ {
499
+ "query": "py my",
500
+ "result": {
501
+ "films": [],
502
+ "tv_series": []
503
+ },
504
+ "duration_seconds": 1.5257210731506348
505
+ },
506
+ {
507
+ "query": "giri aho",
508
+ "result": {
509
+ "films": [],
510
+ "tv_series": []
511
+ },
512
+ "duration_seconds": 1.4903841018676758
513
+ },
514
+ {
515
+ "query": "yariiian",
516
+ "result": {
517
+ "films": [
518
+ "Yaariayan (2014)",
519
+ "Yaariyan 2 (2023)"
520
+ ],
521
+ "tv_series": []
522
+ },
523
+ "duration_seconds": 1.4956285953521729
524
+ },
525
+ {
526
+ "query": "blue grand",
527
+ "result": {
528
+ "films": [],
529
+ "tv_series": []
530
+ },
531
+ "duration_seconds": 1.5308279991149902
532
+ },
533
+ {
534
+ "query": "existant non title",
535
+ "result": {
536
+ "films": [],
537
+ "tv_series": []
538
+ },
539
+ "duration_seconds": 1.5311834812164307
540
+ },
541
+ {
542
+ "query": "203 yariyan",
543
+ "result": {
544
+ "films": [
545
+ "Yaariayan (2014)",
546
+ "Yaariyan 2 (2023)"
547
+ ],
548
+ "tv_series": []
549
+ },
550
+ "duration_seconds": 1.4578142166137695
551
+ },
552
+ {
553
+ "query": "spey my",
554
+ "result": {
555
+ "films": [],
556
+ "tv_series": []
557
+ },
558
+ "duration_seconds": 1.5248446464538574
559
+ },
560
+ {
561
+ "query": " ",
562
+ "result": {
563
+ "films": [
564
+ "Funky Monkey 2004",
565
+ "My spy 2020",
566
+ "My spy 2024",
567
+ "Yaariayan (2014)",
568
+ "Yaariyan 2 (2023)"
569
+ ],
570
+ "tv_series": [
571
+ "Aho Girl",
572
+ "Grand Blue",
573
+ "Jitsu wa Watashi wa",
574
+ "Mashle",
575
+ "Nanbaka",
576
+ "Play It Cool, Guys 2022",
577
+ "Sakamoto desu ga"
578
+ ]
579
+ },
580
+ "duration_seconds": 1.497297763824463
581
+ },
582
+ {
583
+ "query": "!@#$%^&*()",
584
+ "result": {
585
+ "films": [],
586
+ "tv_series": []
587
+ },
588
+ "duration_seconds": 1.4588141441345215
589
+ },
590
+ {
591
+ "query": "123456",
592
+ "result": {
593
+ "films": [],
594
+ "tv_series": []
595
+ },
596
+ "duration_seconds": 1.4993021488189697
597
+ },
598
+ {
599
+ "query": "aaaaaaa",
600
+ "result": {
601
+ "films": [],
602
+ "tv_series": []
603
+ },
604
+ "duration_seconds": 1.484762191772461
605
+ },
606
+ {
607
+ "query": "zzzzzzz",
608
+ "result": {
609
+ "films": [],
610
+ "tv_series": []
611
+ },
612
+ "duration_seconds": 1.477830171585083
613
+ },
614
+ {
615
+ "query": " ",
616
+ "result": {
617
+ "films": [
618
+ "Funky Monkey 2004",
619
+ "My spy 2020",
620
+ "My spy 2024",
621
+ "Yaariayan (2014)",
622
+ "Yaariyan 2 (2023)"
623
+ ],
624
+ "tv_series": [
625
+ "Aho Girl",
626
+ "Grand Blue",
627
+ "Jitsu wa Watashi wa",
628
+ "Mashle",
629
+ "Nanbaka",
630
+ "Play It Cool, Guys 2022",
631
+ "Sakamoto desu ga"
632
+ ]
633
+ },
634
+ "duration_seconds": 1.4399347305297852
635
+ },
636
+ {
637
+ "query": " ",
638
+ "result": {
639
+ "films": [
640
+ "Funky Monkey 2004",
641
+ "My spy 2020",
642
+ "My spy 2024",
643
+ "Yaariayan (2014)",
644
+ "Yaariyan 2 (2023)"
645
+ ],
646
+ "tv_series": [
647
+ "Aho Girl",
648
+ "Grand Blue",
649
+ "Jitsu wa Watashi wa",
650
+ "Mashle",
651
+ "Nanbaka",
652
+ "Play It Cool, Guys 2022",
653
+ "Sakamoto desu ga"
654
+ ]
655
+ },
656
+ "duration_seconds": 1.4462850093841553
657
+ }
658
+ ]
659
+ }