isomorfeus-ferret 0.17.2 → 0.17.3
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- checksums.yaml +4 -4
- data/ext/isomorfeus_ferret_ext/benchmark.c +9 -20
- data/ext/isomorfeus_ferret_ext/benchmarks_all.h +1 -2
- data/ext/isomorfeus_ferret_ext/bm_hash.c +1 -2
- data/ext/isomorfeus_ferret_ext/brotli_dec_decode.c +4 -2
- data/ext/isomorfeus_ferret_ext/brotli_enc_encode.c +3 -2
- data/ext/isomorfeus_ferret_ext/frb_analysis.c +4 -5
- data/ext/isomorfeus_ferret_ext/frb_field_info.c +3 -4
- data/ext/isomorfeus_ferret_ext/frb_index.c +118 -125
- data/ext/isomorfeus_ferret_ext/frb_lazy_doc.c +14 -16
- data/ext/isomorfeus_ferret_ext/frb_search.c +31 -23
- data/ext/isomorfeus_ferret_ext/frb_store.c +27 -13
- data/ext/isomorfeus_ferret_ext/frb_utils.c +3 -6
- data/ext/isomorfeus_ferret_ext/frt_analysis.c +39 -46
- data/ext/isomorfeus_ferret_ext/frt_analysis.h +9 -9
- data/ext/isomorfeus_ferret_ext/frt_array.c +11 -22
- data/ext/isomorfeus_ferret_ext/frt_bitvector.h +3 -6
- data/ext/isomorfeus_ferret_ext/frt_doc_field.c +87 -0
- data/ext/isomorfeus_ferret_ext/frt_doc_field.h +26 -0
- data/ext/isomorfeus_ferret_ext/frt_document.c +4 -97
- data/ext/isomorfeus_ferret_ext/frt_document.h +2 -27
- data/ext/isomorfeus_ferret_ext/frt_except.c +8 -6
- data/ext/isomorfeus_ferret_ext/frt_except.h +1 -2
- data/ext/isomorfeus_ferret_ext/frt_field_index.c +13 -32
- data/ext/isomorfeus_ferret_ext/frt_field_index.h +0 -6
- data/ext/isomorfeus_ferret_ext/frt_field_info.c +69 -0
- data/ext/isomorfeus_ferret_ext/frt_field_info.h +49 -0
- data/ext/isomorfeus_ferret_ext/frt_field_infos.c +196 -0
- data/ext/isomorfeus_ferret_ext/frt_field_infos.h +35 -0
- data/ext/isomorfeus_ferret_ext/frt_global.c +10 -4
- data/ext/isomorfeus_ferret_ext/frt_global.h +11 -15
- data/ext/isomorfeus_ferret_ext/frt_hash.c +8 -8
- data/ext/isomorfeus_ferret_ext/frt_hash.h +1 -2
- data/ext/isomorfeus_ferret_ext/frt_hashset.c +20 -40
- data/ext/isomorfeus_ferret_ext/frt_hashset.h +1 -2
- data/ext/isomorfeus_ferret_ext/frt_helper.c +7 -15
- data/ext/isomorfeus_ferret_ext/frt_in_stream.c +35 -45
- data/ext/isomorfeus_ferret_ext/frt_in_stream.h +3 -2
- data/ext/isomorfeus_ferret_ext/frt_ind.c +20 -38
- data/ext/isomorfeus_ferret_ext/frt_index.c +292 -790
- data/ext/isomorfeus_ferret_ext/frt_index.h +1 -102
- data/ext/isomorfeus_ferret_ext/frt_lang.c +5 -10
- data/ext/isomorfeus_ferret_ext/frt_lazy_doc.c +3 -3
- data/ext/isomorfeus_ferret_ext/frt_lazy_doc.h +1 -1
- data/ext/isomorfeus_ferret_ext/frt_lazy_doc_field.c +18 -25
- data/ext/isomorfeus_ferret_ext/frt_lazy_doc_field.h +5 -5
- data/ext/isomorfeus_ferret_ext/frt_mdbx_store.c +102 -70
- data/ext/isomorfeus_ferret_ext/frt_mempool.c +8 -16
- data/ext/isomorfeus_ferret_ext/frt_multimapper.c +23 -46
- data/ext/isomorfeus_ferret_ext/frt_multimapper.h +4 -8
- data/ext/isomorfeus_ferret_ext/frt_out_stream.c +31 -43
- data/ext/isomorfeus_ferret_ext/frt_out_stream.h +2 -2
- data/ext/isomorfeus_ferret_ext/frt_posh.c +6 -819
- data/ext/isomorfeus_ferret_ext/frt_posh.h +0 -57
- data/ext/isomorfeus_ferret_ext/frt_priorityqueue.c +11 -22
- data/ext/isomorfeus_ferret_ext/frt_priorityqueue.h +1 -2
- data/ext/isomorfeus_ferret_ext/frt_q_boolean.c +85 -171
- data/ext/isomorfeus_ferret_ext/frt_q_match_all.c +8 -16
- data/ext/isomorfeus_ferret_ext/frt_q_multi_term.c +1 -2
- data/ext/isomorfeus_ferret_ext/frt_q_parser.c +49 -98
- data/ext/isomorfeus_ferret_ext/frt_q_phrase.c +52 -104
- data/ext/isomorfeus_ferret_ext/frt_q_range.c +6 -12
- data/ext/isomorfeus_ferret_ext/frt_q_span.c +113 -226
- data/ext/isomorfeus_ferret_ext/frt_q_wildcard.c +1 -2
- data/ext/isomorfeus_ferret_ext/frt_ram_store.c +134 -85
- data/ext/isomorfeus_ferret_ext/frt_search.c +82 -164
- data/ext/isomorfeus_ferret_ext/frt_similarity.c +11 -22
- data/ext/isomorfeus_ferret_ext/frt_similarity.h +1 -2
- data/ext/isomorfeus_ferret_ext/frt_store.c +13 -25
- data/ext/isomorfeus_ferret_ext/frt_store.h +86 -52
- data/ext/isomorfeus_ferret_ext/frt_term_vectors.c +8 -16
- data/ext/isomorfeus_ferret_ext/frt_win32.h +5 -10
- data/ext/isomorfeus_ferret_ext/isomorfeus_ferret.c +12 -11
- data/ext/isomorfeus_ferret_ext/isomorfeus_ferret.h +11 -13
- data/ext/isomorfeus_ferret_ext/lz4.c +422 -195
- data/ext/isomorfeus_ferret_ext/lz4.h +114 -46
- data/ext/isomorfeus_ferret_ext/lz4frame.c +421 -242
- data/ext/isomorfeus_ferret_ext/lz4frame.h +122 -53
- data/ext/isomorfeus_ferret_ext/lz4hc.c +127 -111
- data/ext/isomorfeus_ferret_ext/lz4hc.h +14 -14
- data/ext/isomorfeus_ferret_ext/lz4xxhash.h +1 -1
- data/ext/isomorfeus_ferret_ext/mdbx.c +3762 -2526
- data/ext/isomorfeus_ferret_ext/mdbx.h +115 -70
- data/ext/isomorfeus_ferret_ext/test.c +40 -87
- data/ext/isomorfeus_ferret_ext/test.h +3 -6
- data/ext/isomorfeus_ferret_ext/test_1710.c +11 -13
- data/ext/isomorfeus_ferret_ext/test_analysis.c +32 -64
- data/ext/isomorfeus_ferret_ext/test_array.c +6 -12
- data/ext/isomorfeus_ferret_ext/test_bitvector.c +12 -24
- data/ext/isomorfeus_ferret_ext/test_document.c +23 -33
- data/ext/isomorfeus_ferret_ext/test_except.c +10 -21
- data/ext/isomorfeus_ferret_ext/test_fields.c +62 -68
- data/ext/isomorfeus_ferret_ext/test_file_deleter.c +15 -23
- data/ext/isomorfeus_ferret_ext/test_filter.c +17 -27
- data/ext/isomorfeus_ferret_ext/test_global.c +14 -29
- data/ext/isomorfeus_ferret_ext/test_hash.c +19 -38
- data/ext/isomorfeus_ferret_ext/test_hashset.c +8 -16
- data/ext/isomorfeus_ferret_ext/test_helper.c +4 -8
- data/ext/isomorfeus_ferret_ext/test_highlighter.c +16 -28
- data/ext/isomorfeus_ferret_ext/test_index.c +277 -487
- data/ext/isomorfeus_ferret_ext/test_lang.c +7 -14
- data/ext/isomorfeus_ferret_ext/test_mdbx_store.c +2 -5
- data/ext/isomorfeus_ferret_ext/test_mempool.c +5 -10
- data/ext/isomorfeus_ferret_ext/test_multimapper.c +3 -6
- data/ext/isomorfeus_ferret_ext/test_priorityqueue.c +9 -18
- data/ext/isomorfeus_ferret_ext/test_q_const_score.c +4 -6
- data/ext/isomorfeus_ferret_ext/test_q_filtered.c +3 -4
- data/ext/isomorfeus_ferret_ext/test_q_fuzzy.c +9 -15
- data/ext/isomorfeus_ferret_ext/test_q_parser.c +8 -16
- data/ext/isomorfeus_ferret_ext/test_q_span.c +19 -35
- data/ext/isomorfeus_ferret_ext/test_ram_store.c +14 -13
- data/ext/isomorfeus_ferret_ext/test_search.c +60 -109
- data/ext/isomorfeus_ferret_ext/test_segments.c +8 -13
- data/ext/isomorfeus_ferret_ext/test_similarity.c +2 -4
- data/ext/isomorfeus_ferret_ext/test_sort.c +14 -24
- data/ext/isomorfeus_ferret_ext/test_store.c +96 -115
- data/ext/isomorfeus_ferret_ext/test_term.c +9 -15
- data/ext/isomorfeus_ferret_ext/test_term_vectors.c +9 -14
- data/ext/isomorfeus_ferret_ext/test_test.c +4 -8
- data/ext/isomorfeus_ferret_ext/test_threading.c +14 -20
- data/ext/isomorfeus_ferret_ext/testhelper.c +11 -21
- data/ext/isomorfeus_ferret_ext/testhelper.h +1 -1
- data/ext/isomorfeus_ferret_ext/tests_all.h +1 -2
- data/lib/isomorfeus/ferret/index/index.rb +1 -1
- data/lib/isomorfeus/ferret/version.rb +1 -1
- metadata +24 -4
@@ -11,8 +11,7 @@
|
|
11
11
|
|
12
12
|
static ID date, field, cat, number;
|
13
13
|
|
14
|
-
static void test_byte_float_conversion(TestCase *tc, void *data)
|
15
|
-
{
|
14
|
+
static void test_byte_float_conversion(TestCase *tc, void *data) {
|
16
15
|
int i;
|
17
16
|
(void)data;
|
18
17
|
|
@@ -26,14 +25,12 @@ static int my_doc_freq(FrtSearcher *searcher, ID field, const char *term) {
|
|
26
25
|
return 9;
|
27
26
|
}
|
28
27
|
|
29
|
-
static int my_max_doc(FrtSearcher *searcher)
|
30
|
-
{
|
28
|
+
static int my_max_doc(FrtSearcher *searcher) {
|
31
29
|
(void)searcher;
|
32
30
|
return 10;
|
33
31
|
}
|
34
32
|
|
35
|
-
static void test_explanation(TestCase *tc, void *data)
|
36
|
-
{
|
33
|
+
static void test_explanation(TestCase *tc, void *data) {
|
37
34
|
FrtExplanation *expl = frt_expl_new(1.6f, "short description");
|
38
35
|
char *str = frt_expl_to_s(expl);
|
39
36
|
(void)data;
|
@@ -56,8 +53,7 @@ static void test_explanation(TestCase *tc, void *data)
|
|
56
53
|
free(str);
|
57
54
|
}
|
58
55
|
|
59
|
-
static void test_default_similarity(TestCase *tc, void *data)
|
60
|
-
{
|
56
|
+
static void test_default_similarity(TestCase *tc, void *data) {
|
61
57
|
FrtPhrasePosition positions[4];
|
62
58
|
FrtSearcher searcher;
|
63
59
|
FrtSimilarity *dsim = frt_sim_create_default();
|
@@ -108,8 +104,7 @@ typedef struct DoubleFilter {
|
|
108
104
|
FrtToken *tk;
|
109
105
|
} DoubleFilter;
|
110
106
|
|
111
|
-
static FrtToken *dbl_tf_next(FrtTokenStream *ts)
|
112
|
-
{
|
107
|
+
static FrtToken *dbl_tf_next(FrtTokenStream *ts) {
|
113
108
|
FrtToken *tk;
|
114
109
|
tk = ((DoubleFilter *)ts)->tk;
|
115
110
|
if (tk && islower(tk->text[0])) {
|
@@ -119,8 +114,7 @@ static FrtToken *dbl_tf_next(FrtTokenStream *ts)
|
|
119
114
|
t++;
|
120
115
|
}
|
121
116
|
tk->pos_inc = 1;
|
122
|
-
}
|
123
|
-
else {
|
117
|
+
} else {
|
124
118
|
tk = ((DoubleFilter *)ts)->tk
|
125
119
|
= ((FrtTokenFilter *)ts)->sub_ts->next(((FrtTokenFilter *)ts)->sub_ts);
|
126
120
|
if (tk && islower(tk->text[0])) {
|
@@ -130,13 +124,11 @@ static FrtToken *dbl_tf_next(FrtTokenStream *ts)
|
|
130
124
|
return tk;
|
131
125
|
}
|
132
126
|
|
133
|
-
static FrtTokenStream *dbl_tf_clone_i(FrtTokenStream *ts)
|
134
|
-
{
|
127
|
+
static FrtTokenStream *dbl_tf_clone_i(FrtTokenStream *ts) {
|
135
128
|
return frt_filter_clone_size(ts, sizeof(DoubleFilter));
|
136
129
|
}
|
137
130
|
|
138
|
-
static FrtTokenStream *dbl_tf_new(FrtTokenStream *sub_ts)
|
139
|
-
{
|
131
|
+
static FrtTokenStream *dbl_tf_new(FrtTokenStream *sub_ts) {
|
140
132
|
FrtTokenStream *ts = frt_tf_new_i(sizeof(DoubleFilter), sub_ts);
|
141
133
|
ts->next = &dbl_tf_next;
|
142
134
|
ts->clone_i = &dbl_tf_clone_i;
|
@@ -200,8 +192,7 @@ struct Data test_data[SEARCH_DOCS_SIZE] = {
|
|
200
192
|
"cat1/", "-1.0"}
|
201
193
|
};
|
202
194
|
|
203
|
-
static void prepare_search_index(FrtStore *store)
|
204
|
-
{
|
195
|
+
static void prepare_search_index(FrtStore *store) {
|
205
196
|
int i;
|
206
197
|
FrtIndexWriter *iw;
|
207
198
|
|
@@ -216,18 +207,17 @@ static void prepare_search_index(FrtStore *store)
|
|
216
207
|
for (i = 0; i < SEARCH_DOCS_SIZE; i++) {
|
217
208
|
FrtDocument *doc = frt_doc_new();
|
218
209
|
doc->boost = (float)(i+1);
|
219
|
-
frt_doc_add_field(doc, frt_df_add_data(frt_df_new(date),
|
220
|
-
frt_doc_add_field(doc, frt_df_add_data(frt_df_new(field),
|
221
|
-
frt_doc_add_field(doc, frt_df_add_data(frt_df_new(cat),
|
222
|
-
frt_doc_add_field(doc, frt_df_add_data(frt_df_new(number),
|
210
|
+
frt_doc_add_field(doc, frt_df_add_data(frt_df_new(date), test_data[i].date, enc));
|
211
|
+
frt_doc_add_field(doc, frt_df_add_data(frt_df_new(field), test_data[i].field, enc));
|
212
|
+
frt_doc_add_field(doc, frt_df_add_data(frt_df_new(cat), test_data[i].cat, enc));
|
213
|
+
frt_doc_add_field(doc, frt_df_add_data(frt_df_new(number), test_data[i].number, enc));
|
223
214
|
frt_iw_add_doc(iw, doc);
|
224
215
|
frt_doc_destroy(doc);
|
225
216
|
}
|
226
217
|
frt_iw_close(iw);
|
227
218
|
}
|
228
219
|
|
229
|
-
static void test_get_doc(TestCase *tc, void *data)
|
230
|
-
{
|
220
|
+
static void test_get_doc(TestCase *tc, void *data) {
|
231
221
|
FrtSearcher *searcher = (FrtSearcher *)data;
|
232
222
|
FrtDocument *doc;
|
233
223
|
FrtDocField *df;
|
@@ -252,15 +242,13 @@ static void test_get_doc(TestCase *tc, void *data)
|
|
252
242
|
frt_doc_destroy(doc);
|
253
243
|
}
|
254
244
|
|
255
|
-
void check_to_s(TestCase *tc, FrtQuery *query, ID field, const char *q_str)
|
256
|
-
{
|
245
|
+
void check_to_s(TestCase *tc, FrtQuery *query, ID field, const char *q_str) {
|
257
246
|
char *q_res = query->to_s(query, field);
|
258
247
|
Asequal(q_str, q_res);
|
259
248
|
free(q_res);
|
260
249
|
}
|
261
250
|
|
262
|
-
void tst_check_hits(TestCase *tc, FrtSearcher *searcher, FrtQuery *query, const char *expected_hits, int top)
|
263
|
-
{
|
251
|
+
void tst_check_hits(TestCase *tc, FrtSearcher *searcher, FrtQuery *query, const char *expected_hits, int top) {
|
264
252
|
static int num_array[ARRAY_SIZE];
|
265
253
|
static int num_array2[ARRAY_SIZE];
|
266
254
|
int i, count;
|
@@ -316,8 +304,7 @@ void tst_check_hits(TestCase *tc, FrtSearcher *searcher, FrtQuery *query, const
|
|
316
304
|
}
|
317
305
|
|
318
306
|
void check_match_vector(TestCase *tc, FrtSearcher *searcher, FrtQuery *query,
|
319
|
-
int doc, ID field, const char *ranges)
|
320
|
-
{
|
307
|
+
int doc, ID field, const char *ranges) {
|
321
308
|
static int range_array[ARRAY_SIZE];
|
322
309
|
FrtMatchVector *mv = frt_searcher_get_match_vector(searcher, query, doc, field);
|
323
310
|
int num_matches = s2l(ranges, range_array)/2;
|
@@ -331,8 +318,7 @@ void check_match_vector(TestCase *tc, FrtSearcher *searcher, FrtQuery *query,
|
|
331
318
|
frt_matchv_destroy(mv);
|
332
319
|
}
|
333
320
|
|
334
|
-
static void test_term_query(TestCase *tc, void *data)
|
335
|
-
{
|
321
|
+
static void test_term_query(TestCase *tc, void *data) {
|
336
322
|
FrtHashSet *hs;
|
337
323
|
FrtSearcher *searcher = (FrtSearcher *)data;
|
338
324
|
FrtTopDocs *top_docs;
|
@@ -401,8 +387,7 @@ static void test_term_query(TestCase *tc, void *data)
|
|
401
387
|
frt_q_deref(tq);
|
402
388
|
}
|
403
389
|
|
404
|
-
static void test_term_query_hash(TestCase *tc, void *data)
|
405
|
-
{
|
390
|
+
static void test_term_query_hash(TestCase *tc, void *data) {
|
406
391
|
FrtQuery *q1, *q2;
|
407
392
|
(void)data;
|
408
393
|
q1 = frt_tq_new(rb_intern("A"), "a");
|
@@ -426,8 +411,7 @@ static void test_term_query_hash(TestCase *tc, void *data)
|
|
426
411
|
frt_q_deref(q1);
|
427
412
|
}
|
428
413
|
|
429
|
-
static void test_boolean_query(TestCase *tc, void *data)
|
430
|
-
{
|
414
|
+
static void test_boolean_query(TestCase *tc, void *data) {
|
431
415
|
FrtSearcher *searcher = (FrtSearcher *)data;
|
432
416
|
FrtQuery *bq = frt_bq_new(false);
|
433
417
|
FrtQuery *tq1 = frt_tq_new(field, "word1");
|
@@ -483,8 +467,7 @@ static void test_boolean_query(TestCase *tc, void *data)
|
|
483
467
|
frt_q_deref(bq);
|
484
468
|
}
|
485
469
|
|
486
|
-
static void test_boolean_query_hash(TestCase *tc, void *data)
|
487
|
-
{
|
470
|
+
static void test_boolean_query_hash(TestCase *tc, void *data) {
|
488
471
|
FrtQuery *tq1, *tq2, *tq3, *q1, *q2;
|
489
472
|
(void)data;
|
490
473
|
|
@@ -543,8 +526,7 @@ static void test_boolean_query_hash(TestCase *tc, void *data)
|
|
543
526
|
frt_q_deref(tq3);
|
544
527
|
}
|
545
528
|
|
546
|
-
static void test_phrase_query(TestCase *tc, void *data)
|
547
|
-
{
|
529
|
+
static void test_phrase_query(TestCase *tc, void *data) {
|
548
530
|
FrtSearcher *searcher = (FrtSearcher *)data;
|
549
531
|
FrtExplanation *explanation;
|
550
532
|
FrtQuery *q;
|
@@ -673,8 +655,7 @@ static void test_phrase_query(TestCase *tc, void *data)
|
|
673
655
|
frt_q_deref(phq);
|
674
656
|
}
|
675
657
|
|
676
|
-
static void test_phrase_query_hash(TestCase *tc, void *data)
|
677
|
-
{
|
658
|
+
static void test_phrase_query_hash(TestCase *tc, void *data) {
|
678
659
|
FrtQuery *q1, *q2;
|
679
660
|
(void)data;
|
680
661
|
|
@@ -726,12 +707,10 @@ static void test_phrase_query_hash(TestCase *tc, void *data)
|
|
726
707
|
frt_q_deref(q1);
|
727
708
|
}
|
728
709
|
|
729
|
-
static void test_multi_phrase_query(TestCase *tc, void *data)
|
730
|
-
{
|
710
|
+
static void test_multi_phrase_query(TestCase *tc, void *data) {
|
731
711
|
FrtSearcher *searcher = (FrtSearcher *)data;
|
732
712
|
FrtQuery *phq, *q;
|
733
713
|
|
734
|
-
|
735
714
|
phq = frt_phq_new(field);
|
736
715
|
/* ok to use append_multi_term to start */
|
737
716
|
frt_phq_append_multi_term(phq, "quick");
|
@@ -819,8 +798,7 @@ static void test_multi_phrase_query(TestCase *tc, void *data)
|
|
819
798
|
frt_q_deref(phq);
|
820
799
|
}
|
821
800
|
|
822
|
-
static void test_multi_phrase_query_hash(TestCase *tc, void *data)
|
823
|
-
{
|
801
|
+
static void test_multi_phrase_query_hash(TestCase *tc, void *data) {
|
824
802
|
FrtQuery *q1, *q2;
|
825
803
|
(void)data;
|
826
804
|
|
@@ -882,11 +860,9 @@ static void test_multi_phrase_query_hash(TestCase *tc, void *data)
|
|
882
860
|
frt_q_deref(q1);
|
883
861
|
}
|
884
862
|
|
885
|
-
static void mtq_zero_max_terms(void *p)
|
886
|
-
{ (void)p; frt_multi_tq_new_conf(field, 0, 0.5); }
|
863
|
+
static void mtq_zero_max_terms(void *p) { (void)p; frt_multi_tq_new_conf(field, 0, 0.5); }
|
887
864
|
|
888
|
-
static void test_multi_term_query(TestCase *tc, void *data)
|
889
|
-
{
|
865
|
+
static void test_multi_term_query(TestCase *tc, void *data) {
|
890
866
|
FrtWeight *w;
|
891
867
|
char *t, e[100];
|
892
868
|
FrtSearcher *searcher = (FrtSearcher *)data;
|
@@ -905,7 +881,6 @@ static void test_multi_term_query(TestCase *tc, void *data)
|
|
905
881
|
check_to_s(tc, mtq, field, "\"brown\"");
|
906
882
|
check_to_s(tc, mtq, (ID)NULL, "field:\"brown\"");
|
907
883
|
|
908
|
-
|
909
884
|
/* 0.4f boost is below the 0.5 threshold so term is ignored */
|
910
885
|
frt_multi_tq_add_term_boost(mtq, "fox", 0.4f);
|
911
886
|
tst_check_hits(tc, searcher, mtq, "1, 8, 16, 17", -1);
|
@@ -969,13 +944,11 @@ static void test_multi_term_query(TestCase *tc, void *data)
|
|
969
944
|
frt_q_deref(mtq);
|
970
945
|
}
|
971
946
|
|
972
|
-
static void test_multi_term_query_hash(TestCase *tc, void *data)
|
973
|
-
{
|
947
|
+
static void test_multi_term_query_hash(TestCase *tc, void *data) {
|
974
948
|
FrtQuery *q1 = frt_multi_tq_new_conf(field, 100, 0.4);
|
975
949
|
FrtQuery *q2 = frt_multi_tq_new(field);
|
976
950
|
(void)data;
|
977
951
|
|
978
|
-
|
979
952
|
check_to_s(tc, q1, (ID)NULL, "field:\"\"");
|
980
953
|
Assert(frt_q_hash(q1) == frt_q_hash(q2), "Queries should be equal");
|
981
954
|
Assert(frt_q_eq(q1, q1), "Same queries should be equal");
|
@@ -1001,8 +974,7 @@ static void test_multi_term_query_hash(TestCase *tc, void *data)
|
|
1001
974
|
frt_q_deref(q2);
|
1002
975
|
}
|
1003
976
|
|
1004
|
-
static void test_prefix_query(TestCase *tc, void *data)
|
1005
|
-
{
|
977
|
+
static void test_prefix_query(TestCase *tc, void *data) {
|
1006
978
|
FrtSearcher *searcher = (FrtSearcher *)data;
|
1007
979
|
FrtQuery *prq = frt_prefixq_new(cat, "cat1");
|
1008
980
|
check_to_s(tc, prq, cat, "cat1*");
|
@@ -1032,8 +1004,7 @@ static void test_prefix_query(TestCase *tc, void *data)
|
|
1032
1004
|
frt_q_deref(prq);
|
1033
1005
|
}
|
1034
1006
|
|
1035
|
-
static void test_prefix_query_hash(TestCase *tc, void *data)
|
1036
|
-
{
|
1007
|
+
static void test_prefix_query_hash(TestCase *tc, void *data) {
|
1037
1008
|
FrtQuery *q1, *q2;
|
1038
1009
|
(void)data;
|
1039
1010
|
q1 = frt_prefixq_new(rb_intern("A"), "a");
|
@@ -1057,20 +1028,15 @@ static void test_prefix_query_hash(TestCase *tc, void *data)
|
|
1057
1028
|
frt_q_deref(q1);
|
1058
1029
|
}
|
1059
1030
|
|
1060
|
-
static void rq_new_lower_gt_upper(void *p)
|
1061
|
-
{ (void)p; frt_rq_new(date, "20050101", "20040101", true, true); }
|
1031
|
+
static void rq_new_lower_gt_upper(void *p) { (void)p; frt_rq_new(date, "20050101", "20040101", true, true); }
|
1062
1032
|
|
1063
|
-
static void rq_new_include_lower_and_null_lower(void *p)
|
1064
|
-
{ (void)p; frt_rq_new(date, NULL, "20040101", true, true); }
|
1033
|
+
static void rq_new_include_lower_and_null_lower(void *p) { (void)p; frt_rq_new(date, NULL, "20040101", true, true); }
|
1065
1034
|
|
1066
|
-
static void rq_new_include_upper_and_null_upper(void *p)
|
1067
|
-
{ (void)p; frt_rq_new(date, "20050101", NULL, true, true); }
|
1035
|
+
static void rq_new_include_upper_and_null_upper(void *p) { (void)p; frt_rq_new(date, "20050101", NULL, true, true); }
|
1068
1036
|
|
1069
|
-
static void rq_new_null_lower_and_upper(void *p)
|
1070
|
-
{ (void)p; frt_rq_new(date, NULL, NULL, false, false); }
|
1037
|
+
static void rq_new_null_lower_and_upper(void *p) { (void)p; frt_rq_new(date, NULL, NULL, false, false); }
|
1071
1038
|
|
1072
|
-
static void test_range_query(TestCase *tc, void *data)
|
1073
|
-
{
|
1039
|
+
static void test_range_query(TestCase *tc, void *data) {
|
1074
1040
|
FrtSearcher *searcher = (FrtSearcher *)data;
|
1075
1041
|
FrtQuery *rq;
|
1076
1042
|
|
@@ -1165,8 +1131,7 @@ static void test_range_query(TestCase *tc, void *data)
|
|
1165
1131
|
frt_q_deref(rq);
|
1166
1132
|
}
|
1167
1133
|
|
1168
|
-
static void test_range_query_hash(TestCase *tc, void *data)
|
1169
|
-
{
|
1134
|
+
static void test_range_query_hash(TestCase *tc, void *data) {
|
1170
1135
|
FrtQuery *q1, *q2;
|
1171
1136
|
(void)data;
|
1172
1137
|
q1 = frt_rq_new(date, "20051006", "20051010", true, true);
|
@@ -1228,26 +1193,19 @@ static void test_range_query_hash(TestCase *tc, void *data)
|
|
1228
1193
|
frt_q_deref(q1);
|
1229
1194
|
}
|
1230
1195
|
|
1231
|
-
static void trq_new_int_lower_gt_upper(void *p)
|
1232
|
-
{ (void)p; frt_trq_new(date, "20050101", "20040101", true, true); }
|
1196
|
+
static void trq_new_int_lower_gt_upper(void *p) { (void)p; frt_trq_new(date, "20050101", "20040101", true, true); }
|
1233
1197
|
|
1234
|
-
static void trq_new_float_lower_gt_upper(void *p)
|
1235
|
-
{ (void)p; frt_trq_new(number, "2.5", "-2.5", true, true); }
|
1198
|
+
static void trq_new_float_lower_gt_upper(void *p) { (void)p; frt_trq_new(number, "2.5", "-2.5", true, true); }
|
1236
1199
|
|
1237
|
-
static void trq_new_string_lower_gt_upper(void *p)
|
1238
|
-
{ (void)p; frt_trq_new(cat, "cat_b", "cat_a", true, true); }
|
1200
|
+
static void trq_new_string_lower_gt_upper(void *p) { (void)p; frt_trq_new(cat, "cat_b", "cat_a", true, true); }
|
1239
1201
|
|
1240
|
-
static void trq_new_include_lower_and_null_lower(void *p)
|
1241
|
-
{ (void)p; frt_trq_new(date, NULL, "20040101", true, true); }
|
1202
|
+
static void trq_new_include_lower_and_null_lower(void *p) { (void)p; frt_trq_new(date, NULL, "20040101", true, true); }
|
1242
1203
|
|
1243
|
-
static void trq_new_include_upper_and_null_upper(void *p)
|
1244
|
-
{ (void)p; frt_trq_new(date, "20050101", NULL, true, true); }
|
1204
|
+
static void trq_new_include_upper_and_null_upper(void *p) { (void)p; frt_trq_new(date, "20050101", NULL, true, true); }
|
1245
1205
|
|
1246
|
-
static void trq_new_null_lower_and_upper(void *p)
|
1247
|
-
{ (void)p; frt_trq_new(date, NULL, NULL, false, false); }
|
1206
|
+
static void trq_new_null_lower_and_upper(void *p) { (void)p; frt_trq_new(date, NULL, NULL, false, false); }
|
1248
1207
|
|
1249
|
-
static void test_typed_range_query(TestCase *tc, void *data)
|
1250
|
-
{
|
1208
|
+
static void test_typed_range_query(TestCase *tc, void *data) {
|
1251
1209
|
FrtSearcher *searcher = (FrtSearcher *)data;
|
1252
1210
|
FrtQuery *trq;
|
1253
1211
|
|
@@ -1397,8 +1355,7 @@ static void test_typed_range_query(TestCase *tc, void *data)
|
|
1397
1355
|
frt_q_deref(trq);
|
1398
1356
|
}
|
1399
1357
|
|
1400
|
-
static void test_typed_range_query_hash(TestCase *tc, void *data)
|
1401
|
-
{
|
1358
|
+
static void test_typed_range_query_hash(TestCase *tc, void *data) {
|
1402
1359
|
FrtQuery *q1, *q2;
|
1403
1360
|
(void)data;
|
1404
1361
|
q1 = frt_trq_new(date, "20051006", "20051010", true, true);
|
@@ -1467,8 +1424,7 @@ static void test_typed_range_query_hash(TestCase *tc, void *data)
|
|
1467
1424
|
frt_q_deref(q1);
|
1468
1425
|
}
|
1469
1426
|
|
1470
|
-
static void test_wildcard_match(TestCase *tc, void *data)
|
1471
|
-
{
|
1427
|
+
static void test_wildcard_match(TestCase *tc, void *data) {
|
1472
1428
|
(void)data;
|
1473
1429
|
(void)tc;
|
1474
1430
|
Assert(!frt_wc_match("", "abc"), "Empty pattern matches nothing");
|
@@ -1500,8 +1456,7 @@ static void test_wildcard_match(TestCase *tc, void *data)
|
|
1500
1456
|
Assert(!frt_wc_match("cat1*", "cat2/sub1"), "Do not match");
|
1501
1457
|
}
|
1502
1458
|
|
1503
|
-
static void test_wildcard_query(TestCase *tc, void *data)
|
1504
|
-
{
|
1459
|
+
static void test_wildcard_query(TestCase *tc, void *data) {
|
1505
1460
|
FrtSearcher *searcher = (FrtSearcher *)data;
|
1506
1461
|
FrtQuery *wq = frt_wcq_new(cat, "cat1*"), *bq;
|
1507
1462
|
tst_check_hits(tc, searcher, wq, "0, 1, 2, 3, 4, 13, 14, 15, 16, 17", -1);
|
@@ -1538,8 +1493,7 @@ static void test_wildcard_query(TestCase *tc, void *data)
|
|
1538
1493
|
frt_q_deref(bq);
|
1539
1494
|
}
|
1540
1495
|
|
1541
|
-
static void test_wildcard_query_hash(TestCase *tc, void *data)
|
1542
|
-
{
|
1496
|
+
static void test_wildcard_query_hash(TestCase *tc, void *data) {
|
1543
1497
|
FrtQuery *q1, *q2;
|
1544
1498
|
(void)data;
|
1545
1499
|
q1 = frt_wcq_new(rb_intern("A"), "a*");
|
@@ -1563,8 +1517,7 @@ static void test_wildcard_query_hash(TestCase *tc, void *data)
|
|
1563
1517
|
frt_q_deref(q1);
|
1564
1518
|
}
|
1565
1519
|
|
1566
|
-
static void test_match_all_query_hash(TestCase *tc, void *data)
|
1567
|
-
{
|
1520
|
+
static void test_match_all_query_hash(TestCase *tc, void *data) {
|
1568
1521
|
FrtQuery *q1, *q2;
|
1569
1522
|
(void)data;
|
1570
1523
|
q1 = frt_maq_new();
|
@@ -1583,8 +1536,7 @@ static void test_match_all_query_hash(TestCase *tc, void *data)
|
|
1583
1536
|
frt_q_deref(q1);
|
1584
1537
|
}
|
1585
1538
|
|
1586
|
-
static void test_search_unscored(TestCase *tc, void *data)
|
1587
|
-
{
|
1539
|
+
static void test_search_unscored(TestCase *tc, void *data) {
|
1588
1540
|
FrtSearcher *searcher = (FrtSearcher *)data;
|
1589
1541
|
int buf[5], expected[5], count;
|
1590
1542
|
FrtQuery *tq = frt_tq_new(field, "word1");
|
@@ -1633,9 +1585,9 @@ static void test_search_unscored(TestCase *tc, void *data)
|
|
1633
1585
|
frt_q_deref(tq);
|
1634
1586
|
}
|
1635
1587
|
|
1636
|
-
TestSuite *ts_search(TestSuite *suite)
|
1637
|
-
{
|
1588
|
+
TestSuite *ts_search(TestSuite *suite) {
|
1638
1589
|
FrtStore *store = frt_open_ram_store(NULL);
|
1590
|
+
store->create_folder(store, segm_idx_name);
|
1639
1591
|
FrtIndexReader *ir;
|
1640
1592
|
FrtSearcher *searcher;
|
1641
1593
|
|
@@ -1697,8 +1649,7 @@ TestSuite *ts_search(TestSuite *suite)
|
|
1697
1649
|
|
1698
1650
|
|
1699
1651
|
static void prepare_multi_search_index(FrtStore *store, struct Data data[],
|
1700
|
-
int d_cnt, int w)
|
1701
|
-
{
|
1652
|
+
int d_cnt, int w) {
|
1702
1653
|
int i;
|
1703
1654
|
FrtIndexWriter *iw;
|
1704
1655
|
FrtFieldInfos *fis = frt_fis_new(0 | FRT_FI_IS_STORED_BM | FRT_FI_IS_INDEXED_BM | FRT_FI_IS_TOKENIZED_BM | FRT_FI_STORE_TERM_VECTOR_BM | FRT_FI_STORE_POSITIONS_BM | FRT_FI_STORE_OFFSETS_BM);
|
@@ -1712,18 +1663,17 @@ static void prepare_multi_search_index(FrtStore *store, struct Data data[],
|
|
1712
1663
|
for (i = 0; i < d_cnt; i++) {
|
1713
1664
|
FrtDocument *doc = frt_doc_new();
|
1714
1665
|
doc->boost = (float)(i+w);
|
1715
|
-
frt_doc_add_field(doc, frt_df_add_data(frt_df_new(date),
|
1716
|
-
frt_doc_add_field(doc, frt_df_add_data(frt_df_new(field),
|
1717
|
-
frt_doc_add_field(doc, frt_df_add_data(frt_df_new(cat),
|
1718
|
-
frt_doc_add_field(doc, frt_df_add_data(frt_df_new(number),
|
1666
|
+
frt_doc_add_field(doc, frt_df_add_data(frt_df_new(date), data[i].date, enc));
|
1667
|
+
frt_doc_add_field(doc, frt_df_add_data(frt_df_new(field), data[i].field, enc));
|
1668
|
+
frt_doc_add_field(doc, frt_df_add_data(frt_df_new(cat), data[i].cat, enc));
|
1669
|
+
frt_doc_add_field(doc, frt_df_add_data(frt_df_new(number), data[i].number, enc));
|
1719
1670
|
frt_iw_add_doc(iw, doc);
|
1720
1671
|
frt_doc_destroy(doc);
|
1721
1672
|
}
|
1722
1673
|
frt_iw_close(iw);
|
1723
1674
|
}
|
1724
1675
|
|
1725
|
-
static void test_query_combine(TestCase *tc, void *data)
|
1726
|
-
{
|
1676
|
+
static void test_query_combine(TestCase *tc, void *data) {
|
1727
1677
|
FrtQuery *q, *cq, **queries;
|
1728
1678
|
FrtBooleanQuery *bq;
|
1729
1679
|
(void)data;
|
@@ -1822,10 +1772,11 @@ static void test_query_combine(TestCase *tc, void *data)
|
|
1822
1772
|
free(queries);
|
1823
1773
|
}
|
1824
1774
|
|
1825
|
-
TestSuite *ts_multi_search(TestSuite *suite)
|
1826
|
-
{
|
1775
|
+
TestSuite *ts_multi_search(TestSuite *suite) {
|
1827
1776
|
FrtStore *store0 = frt_open_ram_store(NULL);
|
1777
|
+
store0->create_folder(store0, segm_idx_name);
|
1828
1778
|
FrtStore *store1 = frt_open_ram_store(NULL);
|
1779
|
+
store1->create_folder(store1, segm_idx_name);
|
1829
1780
|
|
1830
1781
|
FrtIndexReader *ir0, *ir1;
|
1831
1782
|
FrtSearcher **searchers;
|
@@ -29,21 +29,18 @@ static int tst_si_eql(int line_num,
|
|
29
29
|
FrtSegmentInfo *si,
|
30
30
|
const char *name,
|
31
31
|
int doc_cnt,
|
32
|
-
FrtStore *store)
|
33
|
-
{
|
32
|
+
FrtStore *store) {
|
34
33
|
if (tst_str_equal(line_num, tc, name, si->name) &&
|
35
34
|
tst_int_equal(line_num, tc, doc_cnt, si->doc_cnt) &&
|
36
35
|
tst_ptr_equal(line_num, tc, store, si->store)) {
|
37
36
|
return true;
|
38
|
-
}
|
39
|
-
else {
|
37
|
+
} else {
|
40
38
|
return false;
|
41
39
|
}
|
42
40
|
|
43
41
|
}
|
44
42
|
|
45
|
-
static void test_si(TestCase *tc, void *data)
|
46
|
-
{
|
43
|
+
static void test_si(TestCase *tc, void *data) {
|
47
44
|
FrtStore *store = (FrtStore *)data;
|
48
45
|
FrtSegmentInfo *si = frt_si_new(frt_estrdup("_1"), 10, store);
|
49
46
|
Asi_has_vals(si, "_1", 10, store);
|
@@ -66,8 +63,7 @@ static void test_si(TestCase *tc, void *data)
|
|
66
63
|
***************************************************************************/
|
67
64
|
|
68
65
|
|
69
|
-
void test_sis_add_del(TestCase *tc, void *data)
|
70
|
-
{
|
66
|
+
void test_sis_add_del(TestCase *tc, void *data) {
|
71
67
|
FrtStore *store = (FrtStore *)data;
|
72
68
|
FrtSegmentInfos *sis = frt_sis_new(&dummy_fis);
|
73
69
|
FrtSegmentInfo *seg0 = frt_sis_new_segment(sis, 123, store);
|
@@ -97,8 +93,7 @@ void test_sis_add_del(TestCase *tc, void *data)
|
|
97
93
|
frt_sis_destroy(sis);
|
98
94
|
}
|
99
95
|
|
100
|
-
void test_sis_rw(TestCase *tc, void *data)
|
101
|
-
{
|
96
|
+
void test_sis_rw(TestCase *tc, void *data) {
|
102
97
|
frt_u64 version;
|
103
98
|
FrtStore *store = (FrtStore *)data;
|
104
99
|
FrtSegmentInfos *sis = frt_sis_new(&dummy_fis);
|
@@ -120,7 +115,7 @@ void test_sis_rw(TestCase *tc, void *data)
|
|
120
115
|
Apequal(seg2, sis->segs[2]);
|
121
116
|
frt_sis_write(sis, store, NULL);
|
122
117
|
version = frt_sis_read_current_version(store);
|
123
|
-
Assert(store->exists(store, "segments_0"),
|
118
|
+
Assert(store->exists(store, segm_idx_name, "segments_0"),
|
124
119
|
"segments file should have been created");
|
125
120
|
sis2 = frt_sis_read(store);
|
126
121
|
Aiequal(3, sis2->size);
|
@@ -143,9 +138,9 @@ void test_sis_rw(TestCase *tc, void *data)
|
|
143
138
|
frt_sis_destroy(sis3);
|
144
139
|
}
|
145
140
|
|
146
|
-
TestSuite *ts_segments(TestSuite *suite)
|
147
|
-
{
|
141
|
+
TestSuite *ts_segments(TestSuite *suite) {
|
148
142
|
FrtStore *store = frt_open_ram_store(NULL);
|
143
|
+
store->create_folder(store, segm_idx_name);
|
149
144
|
|
150
145
|
suite = ADD_SUITE(suite);
|
151
146
|
|
@@ -2,8 +2,7 @@
|
|
2
2
|
#include "frt_similarity.h"
|
3
3
|
#include "test.h"
|
4
4
|
|
5
|
-
void test_default_similarity(TestCase *tc, void *data)
|
6
|
-
{
|
5
|
+
void test_default_similarity(TestCase *tc, void *data) {
|
7
6
|
FrtSimilarity *dsim = frt_sim_create_default();
|
8
7
|
(void)data;
|
9
8
|
|
@@ -15,8 +14,7 @@ void test_default_similarity(TestCase *tc, void *data)
|
|
15
14
|
Afequal(4.0, frt_sim_coord(dsim, 12, 3));
|
16
15
|
}
|
17
16
|
|
18
|
-
TestSuite *ts_similarity(TestSuite *suite)
|
19
|
-
{
|
17
|
+
TestSuite *ts_similarity(TestSuite *suite) {
|
20
18
|
suite = ADD_SUITE(suite);
|
21
19
|
|
22
20
|
tst_run_test(suite, test_default_similarity, NULL);
|
@@ -16,14 +16,13 @@ typedef struct SortTestData {
|
|
16
16
|
const char *flt;
|
17
17
|
} SortTestData;
|
18
18
|
|
19
|
-
static void add_sort_test_data(SortTestData *std, FrtIndexWriter *iw)
|
20
|
-
{
|
19
|
+
static void add_sort_test_data(SortTestData *std, FrtIndexWriter *iw) {
|
21
20
|
FrtDocument *doc = frt_doc_new();
|
22
21
|
rb_encoding *enc = rb_enc_find("ASCII-8BIT");
|
23
|
-
frt_doc_add_field(doc, frt_df_add_data(frt_df_new(search),
|
24
|
-
frt_doc_add_field(doc, frt_df_add_data(frt_df_new(string),
|
25
|
-
frt_doc_add_field(doc, frt_df_add_data(frt_df_new(integer),
|
26
|
-
frt_doc_add_field(doc, frt_df_add_data(frt_df_new(flt),
|
22
|
+
frt_doc_add_field(doc, frt_df_add_data(frt_df_new(search), std->search, enc));
|
23
|
+
frt_doc_add_field(doc, frt_df_add_data(frt_df_new(string), std->string, enc));
|
24
|
+
frt_doc_add_field(doc, frt_df_add_data(frt_df_new(integer), std->integer, enc));
|
25
|
+
frt_doc_add_field(doc, frt_df_add_data(frt_df_new(flt), std->flt, enc));
|
27
26
|
|
28
27
|
sscanf(std->flt, "%f", &doc->boost);
|
29
28
|
|
@@ -44,8 +43,7 @@ static SortTestData data[] = { /* len mod */
|
|
44
43
|
{"findall","b","4","0.000001"} /* 8 0 */
|
45
44
|
};
|
46
45
|
|
47
|
-
static void sort_test_setup(FrtStore *store)
|
48
|
-
{
|
46
|
+
static void sort_test_setup(FrtStore *store) {
|
49
47
|
int i;
|
50
48
|
FrtIndexWriter *iw;
|
51
49
|
FrtFieldInfos *fis = frt_fis_new(0 | FRT_FI_IS_STORED_BM | FRT_FI_IS_INDEXED_BM | FRT_FI_IS_TOKENIZED_BM | FRT_FI_STORE_TERM_VECTOR_BM);
|
@@ -60,8 +58,7 @@ static void sort_test_setup(FrtStore *store)
|
|
60
58
|
frt_iw_close(iw);
|
61
59
|
}
|
62
60
|
|
63
|
-
static void sort_multi_test_setup(FrtStore *store1, FrtStore *store2)
|
64
|
-
{
|
61
|
+
static void sort_multi_test_setup(FrtStore *store1, FrtStore *store2) {
|
65
62
|
int i;
|
66
63
|
FrtFieldInfos *fis = frt_fis_new(0 | FRT_FI_IS_STORED_BM | FRT_FI_IS_INDEXED_BM | FRT_FI_IS_TOKENIZED_BM | FRT_FI_STORE_TERM_VECTOR_BM);
|
67
64
|
FrtIndexWriter *iw;
|
@@ -87,8 +84,7 @@ static void sort_multi_test_setup(FrtStore *store1, FrtStore *store2)
|
|
87
84
|
|
88
85
|
#define R_START 3
|
89
86
|
#define R_END 6
|
90
|
-
static void do_test_top_docs(TestCase *tc, FrtSearcher *searcher, FrtQuery *query, const char *expected_hits, FrtSort *sort)
|
91
|
-
{
|
87
|
+
static void do_test_top_docs(TestCase *tc, FrtSearcher *searcher, FrtQuery *query, const char *expected_hits, FrtSort *sort) {
|
92
88
|
static int num_array[ARRAY_SIZE];
|
93
89
|
int i;
|
94
90
|
int total_hits = s2l(expected_hits, num_array);
|
@@ -147,8 +143,7 @@ static void do_test_top_docs(TestCase *tc, FrtSearcher *searcher, FrtQuery *quer
|
|
147
143
|
} while (0)
|
148
144
|
|
149
145
|
|
150
|
-
static void test_sort_field_to_s(TestCase *tc, void *data)
|
151
|
-
{
|
146
|
+
static void test_sort_field_to_s(TestCase *tc, void *data) {
|
152
147
|
(void)data;
|
153
148
|
TEST_SF_TO_S("<SCORE>", frt_sort_field_score_new(false));
|
154
149
|
TEST_SF_TO_S("<SCORE>!", frt_sort_field_score_new(true));
|
@@ -171,8 +166,7 @@ static void test_sort_field_to_s(TestCase *tc, void *data)
|
|
171
166
|
free(_str);\
|
172
167
|
} while (0)
|
173
168
|
|
174
|
-
static void test_sort_to_s(TestCase *tc, void *data)
|
175
|
-
{
|
169
|
+
static void test_sort_to_s(TestCase *tc, void *data) {
|
176
170
|
FrtSort *sort = frt_sort_new();
|
177
171
|
(void)data;
|
178
172
|
|
@@ -198,8 +192,7 @@ static void test_sort_to_s(TestCase *tc, void *data)
|
|
198
192
|
}
|
199
193
|
|
200
194
|
static bool do_byte_test = true;
|
201
|
-
static void test_sorts(TestCase *tc, void *data)
|
202
|
-
{
|
195
|
+
static void test_sorts(TestCase *tc, void *data) {
|
203
196
|
FrtSearcher *sea = (FrtSearcher *)data;
|
204
197
|
FrtQuery *q;
|
205
198
|
FrtSort *sort = NULL;
|
@@ -288,10 +281,10 @@ static void test_sorts(TestCase *tc, void *data)
|
|
288
281
|
frt_q_deref(q);
|
289
282
|
}
|
290
283
|
|
291
|
-
TestSuite *ts_sort(TestSuite *suite)
|
292
|
-
{
|
284
|
+
TestSuite *ts_sort(TestSuite *suite) {
|
293
285
|
FrtSearcher *sea, **searchers;
|
294
286
|
FrtStore *store = frt_open_ram_store(NULL), *fs_store;
|
287
|
+
store->create_folder(store, segm_idx_name);
|
295
288
|
FrtIndexReader *ir0;
|
296
289
|
FrtIndexReader *ir1;
|
297
290
|
|
@@ -317,11 +310,8 @@ TestSuite *ts_sort(TestSuite *suite)
|
|
317
310
|
|
318
311
|
do_byte_test = false;
|
319
312
|
|
320
|
-
#if defined POSH_OS_WIN32 || defined POSH_OS_WIN64
|
321
|
-
fs_store = frt_open_mdbx_store(".\\test\\testdir\\store");
|
322
|
-
#else
|
323
313
|
fs_store = frt_open_mdbx_store("./test/testdir/store");
|
324
|
-
|
314
|
+
|
325
315
|
sort_multi_test_setup(store, fs_store);
|
326
316
|
|
327
317
|
searchers = FRT_ALLOC_N(FrtSearcher *, 2);
|