isomorfeus-ferret 0.17.2 → 0.17.3
Sign up to get free protection for your applications and to get access to all the features.
- 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
@@ -7,8 +7,7 @@
|
|
7
7
|
|
8
8
|
#define ARRAY_SIZE 100
|
9
9
|
|
10
|
-
static void test_match_vector(TestCase *tc, void *data)
|
11
|
-
{
|
10
|
+
static void test_match_vector(TestCase *tc, void *data) {
|
12
11
|
const int match_test_count = 100;
|
13
12
|
int i;
|
14
13
|
FrtMatchVector *mv = frt_matchv_new();
|
@@ -79,21 +78,19 @@ static void test_match_vector(TestCase *tc, void *data)
|
|
79
78
|
frt_matchv_destroy(mv);
|
80
79
|
}
|
81
80
|
|
82
|
-
static void make_index(FrtStore *store)
|
83
|
-
{
|
81
|
+
static void make_index(FrtStore *store) {
|
84
82
|
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);
|
85
83
|
frt_index_create(store, fis);
|
86
84
|
frt_fis_deref(fis);
|
87
85
|
}
|
88
86
|
|
89
|
-
static void add_string_docs(FrtStore *store, const char *string[])
|
90
|
-
{
|
87
|
+
static void add_string_docs(FrtStore *store, const char *string[]) {
|
91
88
|
FrtIndexWriter *iw = frt_iw_open(NULL, store, frt_whitespace_analyzer_new(true), NULL);
|
92
89
|
rb_encoding *enc = rb_enc_find("ASCII-8BIT");
|
93
90
|
|
94
91
|
while (*string) {
|
95
92
|
FrtDocument *doc = frt_doc_new();
|
96
|
-
frt_doc_add_field(doc, frt_df_add_data(frt_df_new(rb_intern("field")),
|
93
|
+
frt_doc_add_field(doc, frt_df_add_data(frt_df_new(rb_intern("field")), *string, enc));
|
97
94
|
frt_iw_add_doc(iw, doc);
|
98
95
|
frt_doc_destroy(doc);
|
99
96
|
string++;
|
@@ -102,8 +99,7 @@ static void add_string_docs(FrtStore *store, const char *string[])
|
|
102
99
|
}
|
103
100
|
|
104
101
|
#define Chk_sea_mv(query, doc_num, expected) check_searcher_match_vector(tc, store, query, doc_num, expected)
|
105
|
-
static void check_searcher_match_vector(TestCase *tc, FrtStore *store, FrtQuery *query, int doc_num, const char *expected)
|
106
|
-
{
|
102
|
+
static void check_searcher_match_vector(TestCase *tc, FrtStore *store, FrtQuery *query, int doc_num, const char *expected) {
|
107
103
|
FrtIndexReader *ir = frt_ir_open(NULL, store);
|
108
104
|
FrtSearcher *sea = frt_isea_new(ir);
|
109
105
|
FrtMatchVector *mv = frt_searcher_get_match_vector(sea, query, doc_num, rb_intern("field"));
|
@@ -123,8 +119,7 @@ static void check_searcher_match_vector(TestCase *tc, FrtStore *store, FrtQuery
|
|
123
119
|
}
|
124
120
|
|
125
121
|
#define Chk_mv(query, doc_num, expected) check_match_vector(tc, store, query, doc_num, expected)
|
126
|
-
static void check_match_vector(TestCase *tc, FrtStore *store, FrtQuery *query, int doc_num, const char *expected)
|
127
|
-
{
|
122
|
+
static void check_match_vector(TestCase *tc, FrtStore *store, FrtQuery *query, int doc_num, const char *expected) {
|
128
123
|
FrtIndexReader *ir = frt_ir_open(NULL, store);
|
129
124
|
FrtMatchVector *mv = frt_matchv_new();
|
130
125
|
FrtTermVector *term_vector = ir->term_vector(ir, doc_num, rb_intern("field"));
|
@@ -145,8 +140,7 @@ static void check_match_vector(TestCase *tc, FrtStore *store, FrtQuery *query, i
|
|
145
140
|
check_searcher_match_vector(tc, store, query, doc_num, expected);
|
146
141
|
}
|
147
142
|
|
148
|
-
static void test_term_query(TestCase *tc, void *data)
|
149
|
-
{
|
143
|
+
static void test_term_query(TestCase *tc, void *data) {
|
150
144
|
FrtStore *store = (FrtStore *)data;
|
151
145
|
FrtQuery *q;
|
152
146
|
const char *docs[] = {
|
@@ -168,8 +162,7 @@ static void test_term_query(TestCase *tc, void *data)
|
|
168
162
|
frt_q_deref(q);
|
169
163
|
}
|
170
164
|
|
171
|
-
static void test_phrase_query(TestCase *tc, void *data)
|
172
|
-
{
|
165
|
+
static void test_phrase_query(TestCase *tc, void *data) {
|
173
166
|
FrtStore *store = (FrtStore *)data;
|
174
167
|
FrtQuery *q;
|
175
168
|
const char *docs[] = {
|
@@ -231,8 +224,7 @@ static void test_phrase_query(TestCase *tc, void *data)
|
|
231
224
|
frt_q_deref(q);
|
232
225
|
}
|
233
226
|
|
234
|
-
static void test_boolean_query(TestCase *tc, void *data)
|
235
|
-
{
|
227
|
+
static void test_boolean_query(TestCase *tc, void *data) {
|
236
228
|
FrtStore *store = (FrtStore *)data;
|
237
229
|
FrtQuery *q, *phq;
|
238
230
|
const char *docs[] = {
|
@@ -255,8 +247,7 @@ static void test_boolean_query(TestCase *tc, void *data)
|
|
255
247
|
frt_q_deref(q);
|
256
248
|
}
|
257
249
|
|
258
|
-
static void test_multi_term_query(TestCase *tc, void *data)
|
259
|
-
{
|
250
|
+
static void test_multi_term_query(TestCase *tc, void *data) {
|
260
251
|
FrtStore *store = (FrtStore *)data;
|
261
252
|
FrtQuery *q;
|
262
253
|
const char *docs[] = {
|
@@ -275,8 +266,7 @@ static void test_multi_term_query(TestCase *tc, void *data)
|
|
275
266
|
frt_q_deref(q);
|
276
267
|
}
|
277
268
|
|
278
|
-
static void test_span_queries(TestCase *tc, void *data)
|
279
|
-
{
|
269
|
+
static void test_span_queries(TestCase *tc, void *data) {
|
280
270
|
FrtStore *store = (FrtStore *)data;
|
281
271
|
FrtQuery *q, *oq;
|
282
272
|
const char *docs[] = {
|
@@ -330,8 +320,7 @@ static void test_span_queries(TestCase *tc, void *data)
|
|
330
320
|
frt_q_deref(q);
|
331
321
|
}
|
332
322
|
|
333
|
-
static void test_searcher_get_match_vector(TestCase *tc, void *data)
|
334
|
-
{
|
323
|
+
static void test_searcher_get_match_vector(TestCase *tc, void *data) {
|
335
324
|
FrtStore *store = (FrtStore *)data;
|
336
325
|
FrtQuery *q;
|
337
326
|
const char *docs[] = {
|
@@ -353,8 +342,7 @@ static void test_searcher_get_match_vector(TestCase *tc, void *data)
|
|
353
342
|
frt_q_deref(q);
|
354
343
|
}
|
355
344
|
|
356
|
-
static void test_searcher_highlight(TestCase *tc, void *data)
|
357
|
-
{
|
345
|
+
static void test_searcher_highlight(TestCase *tc, void *data) {
|
358
346
|
FrtStore *store = (FrtStore *)data;
|
359
347
|
FrtQuery *q, *phq;
|
360
348
|
FrtIndexWriter *iw;
|
@@ -374,7 +362,7 @@ static void test_searcher_highlight(TestCase *tc, void *data)
|
|
374
362
|
add_string_docs(store, docs);
|
375
363
|
|
376
364
|
iw = frt_iw_open(NULL, store, frt_letter_analyzer_new(true), NULL);
|
377
|
-
frt_doc_add_field(doc, frt_df_add_data(frt_df_new(rb_intern("field")),
|
365
|
+
frt_doc_add_field(doc, frt_df_add_data(frt_df_new(rb_intern("field")), "That's how it goes now.", enc));
|
378
366
|
frt_iw_add_doc(iw, doc);
|
379
367
|
frt_doc_destroy(doc);
|
380
368
|
frt_iw_close(iw);
|
@@ -532,9 +520,9 @@ static void test_searcher_highlight(TestCase *tc, void *data)
|
|
532
520
|
frt_ir_close(ir);
|
533
521
|
}
|
534
522
|
|
535
|
-
TestSuite *ts_highlighter(TestSuite *suite)
|
536
|
-
{
|
523
|
+
TestSuite *ts_highlighter(TestSuite *suite) {
|
537
524
|
FrtStore *store = frt_open_ram_store(NULL);
|
525
|
+
store->create_folder(store, segm_idx_name);
|
538
526
|
|
539
527
|
suite = ADD_SUITE(suite);
|
540
528
|
|