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
@@ -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
|
|