ferret 0.9.0 → 0.9.1
Sign up to get free protection for your applications and to get access to all the features.
- data/Rakefile +23 -5
- data/TODO +2 -1
- data/ext/analysis.c +838 -177
- data/ext/analysis.h +55 -7
- data/ext/api.c +69 -0
- data/ext/api.h +27 -0
- data/ext/array.c +8 -5
- data/ext/compound_io.c +132 -96
- data/ext/document.c +58 -28
- data/ext/except.c +59 -0
- data/ext/except.h +88 -0
- data/ext/ferret.c +47 -3
- data/ext/ferret.h +3 -0
- data/ext/field.c +15 -9
- data/ext/filter.c +1 -1
- data/ext/fs_store.c +215 -34
- data/ext/global.c +72 -3
- data/ext/global.h +4 -3
- data/ext/hash.c +44 -3
- data/ext/hash.h +9 -0
- data/ext/header.h +58 -0
- data/ext/inc/except.h +88 -0
- data/ext/inc/lang.h +23 -13
- data/ext/ind.c +16 -10
- data/ext/index.h +2 -22
- data/ext/index_io.c +3 -11
- data/ext/index_rw.c +245 -193
- data/ext/lang.h +23 -13
- data/ext/libstemmer.c +92 -0
- data/ext/libstemmer.h +79 -0
- data/ext/modules.h +162 -0
- data/ext/q_boolean.c +34 -21
- data/ext/q_const_score.c +6 -12
- data/ext/q_filtered_query.c +206 -0
- data/ext/q_fuzzy.c +18 -15
- data/ext/q_match_all.c +3 -7
- data/ext/q_multi_phrase.c +10 -14
- data/ext/q_parser.c +29 -2
- data/ext/q_phrase.c +14 -21
- data/ext/q_prefix.c +15 -12
- data/ext/q_range.c +30 -28
- data/ext/q_span.c +13 -21
- data/ext/q_term.c +17 -26
- data/ext/r_analysis.c +693 -21
- data/ext/r_doc.c +11 -12
- data/ext/r_index_io.c +4 -1
- data/ext/r_qparser.c +21 -2
- data/ext/r_search.c +285 -18
- data/ext/ram_store.c +5 -2
- data/ext/search.c +11 -17
- data/ext/search.h +21 -45
- data/ext/similarity.h +67 -0
- data/ext/sort.c +30 -25
- data/ext/stem_ISO_8859_1_danish.c +338 -0
- data/ext/stem_ISO_8859_1_danish.h +16 -0
- data/ext/stem_ISO_8859_1_dutch.c +635 -0
- data/ext/stem_ISO_8859_1_dutch.h +16 -0
- data/ext/stem_ISO_8859_1_english.c +1156 -0
- data/ext/stem_ISO_8859_1_english.h +16 -0
- data/ext/stem_ISO_8859_1_finnish.c +792 -0
- data/ext/stem_ISO_8859_1_finnish.h +16 -0
- data/ext/stem_ISO_8859_1_french.c +1276 -0
- data/ext/stem_ISO_8859_1_french.h +16 -0
- data/ext/stem_ISO_8859_1_german.c +512 -0
- data/ext/stem_ISO_8859_1_german.h +16 -0
- data/ext/stem_ISO_8859_1_italian.c +1091 -0
- data/ext/stem_ISO_8859_1_italian.h +16 -0
- data/ext/stem_ISO_8859_1_norwegian.c +296 -0
- data/ext/stem_ISO_8859_1_norwegian.h +16 -0
- data/ext/stem_ISO_8859_1_porter.c +776 -0
- data/ext/stem_ISO_8859_1_porter.h +16 -0
- data/ext/stem_ISO_8859_1_portuguese.c +1035 -0
- data/ext/stem_ISO_8859_1_portuguese.h +16 -0
- data/ext/stem_ISO_8859_1_spanish.c +1119 -0
- data/ext/stem_ISO_8859_1_spanish.h +16 -0
- data/ext/stem_ISO_8859_1_swedish.c +307 -0
- data/ext/stem_ISO_8859_1_swedish.h +16 -0
- data/ext/stem_KOI8_R_russian.c +701 -0
- data/ext/stem_KOI8_R_russian.h +16 -0
- data/ext/stem_UTF_8_danish.c +344 -0
- data/ext/stem_UTF_8_danish.h +16 -0
- data/ext/stem_UTF_8_dutch.c +653 -0
- data/ext/stem_UTF_8_dutch.h +16 -0
- data/ext/stem_UTF_8_english.c +1176 -0
- data/ext/stem_UTF_8_english.h +16 -0
- data/ext/stem_UTF_8_finnish.c +808 -0
- data/ext/stem_UTF_8_finnish.h +16 -0
- data/ext/stem_UTF_8_french.c +1296 -0
- data/ext/stem_UTF_8_french.h +16 -0
- data/ext/stem_UTF_8_german.c +526 -0
- data/ext/stem_UTF_8_german.h +16 -0
- data/ext/stem_UTF_8_italian.c +1113 -0
- data/ext/stem_UTF_8_italian.h +16 -0
- data/ext/stem_UTF_8_norwegian.c +302 -0
- data/ext/stem_UTF_8_norwegian.h +16 -0
- data/ext/stem_UTF_8_porter.c +794 -0
- data/ext/stem_UTF_8_porter.h +16 -0
- data/ext/stem_UTF_8_portuguese.c +1055 -0
- data/ext/stem_UTF_8_portuguese.h +16 -0
- data/ext/stem_UTF_8_russian.c +709 -0
- data/ext/stem_UTF_8_russian.h +16 -0
- data/ext/stem_UTF_8_spanish.c +1137 -0
- data/ext/stem_UTF_8_spanish.h +16 -0
- data/ext/stem_UTF_8_swedish.c +313 -0
- data/ext/stem_UTF_8_swedish.h +16 -0
- data/ext/stopwords.c +325 -0
- data/ext/store.c +34 -2
- data/ext/tags +2953 -0
- data/ext/term.c +21 -15
- data/ext/termdocs.c +5 -3
- data/ext/utilities.c +446 -0
- data/ext/vector.c +27 -13
- data/lib/ferret/document/document.rb +1 -1
- data/lib/ferret/index/index.rb +44 -6
- data/lib/ferret/query_parser/query_parser.tab.rb +7 -3
- data/lib/rferret.rb +2 -1
- data/test/test_helper.rb +2 -2
- data/test/unit/analysis/ctc_analyzer.rb +401 -0
- data/test/unit/analysis/ctc_tokenstream.rb +423 -0
- data/test/unit/analysis/{tc_letter_tokenizer.rb → rtc_letter_tokenizer.rb} +0 -0
- data/test/unit/analysis/{tc_lower_case_filter.rb → rtc_lower_case_filter.rb} +0 -0
- data/test/unit/analysis/{tc_lower_case_tokenizer.rb → rtc_lower_case_tokenizer.rb} +0 -0
- data/test/unit/analysis/{tc_per_field_analyzer_wrapper.rb → rtc_per_field_analyzer_wrapper.rb} +0 -0
- data/test/unit/analysis/{tc_porter_stem_filter.rb → rtc_porter_stem_filter.rb} +0 -0
- data/test/unit/analysis/{tc_standard_analyzer.rb → rtc_standard_analyzer.rb} +0 -0
- data/test/unit/analysis/{tc_standard_tokenizer.rb → rtc_standard_tokenizer.rb} +0 -0
- data/test/unit/analysis/{tc_stop_analyzer.rb → rtc_stop_analyzer.rb} +0 -0
- data/test/unit/analysis/{tc_stop_filter.rb → rtc_stop_filter.rb} +0 -0
- data/test/unit/analysis/{tc_white_space_analyzer.rb → rtc_white_space_analyzer.rb} +0 -0
- data/test/unit/analysis/{tc_white_space_tokenizer.rb → rtc_white_space_tokenizer.rb} +0 -0
- data/test/unit/analysis/{tc_word_list_loader.rb → rtc_word_list_loader.rb} +0 -0
- data/test/unit/analysis/tc_analyzer.rb +1 -2
- data/test/unit/analysis/{c_token.rb → tc_token.rb} +0 -0
- data/test/unit/document/rtc_field.rb +28 -0
- data/test/unit/document/{c_document.rb → tc_document.rb} +0 -0
- data/test/unit/document/tc_field.rb +82 -12
- data/test/unit/index/{tc_compound_file_io.rb → rtc_compound_file_io.rb} +0 -0
- data/test/unit/index/{tc_field_infos.rb → rtc_field_infos.rb} +0 -0
- data/test/unit/index/{tc_fields_io.rb → rtc_fields_io.rb} +0 -0
- data/test/unit/index/{tc_multiple_term_doc_pos_enum.rb → rtc_multiple_term_doc_pos_enum.rb} +0 -0
- data/test/unit/index/{tc_segment_infos.rb → rtc_segment_infos.rb} +0 -0
- data/test/unit/index/{tc_segment_term_docs.rb → rtc_segment_term_docs.rb} +0 -0
- data/test/unit/index/{tc_segment_term_enum.rb → rtc_segment_term_enum.rb} +0 -0
- data/test/unit/index/{tc_segment_term_vector.rb → rtc_segment_term_vector.rb} +0 -0
- data/test/unit/index/{tc_term_buffer.rb → rtc_term_buffer.rb} +0 -0
- data/test/unit/index/{tc_term_info.rb → rtc_term_info.rb} +0 -0
- data/test/unit/index/{tc_term_infos_io.rb → rtc_term_infos_io.rb} +0 -0
- data/test/unit/index/{tc_term_vectors_io.rb → rtc_term_vectors_io.rb} +0 -0
- data/test/unit/index/{c_index.rb → tc_index.rb} +26 -6
- data/test/unit/index/{c_index_reader.rb → tc_index_reader.rb} +0 -0
- data/test/unit/index/{c_index_writer.rb → tc_index_writer.rb} +0 -0
- data/test/unit/index/{c_term.rb → tc_term.rb} +0 -0
- data/test/unit/index/{c_term_voi.rb → tc_term_voi.rb} +0 -0
- data/test/unit/query_parser/{c_query_parser.rb → rtc_query_parser.rb} +14 -14
- data/test/unit/query_parser/tc_query_parser.rb +24 -16
- data/test/unit/search/{tc_similarity.rb → rtc_similarity.rb} +0 -0
- data/test/unit/search/rtc_sort_field.rb +14 -0
- data/test/unit/search/{c_filter.rb → tc_filter.rb} +11 -11
- data/test/unit/search/{c_fuzzy_query.rb → tc_fuzzy_query.rb} +0 -0
- data/test/unit/search/{c_index_searcher.rb → tc_index_searcher.rb} +0 -0
- data/test/unit/search/{c_search_and_sort.rb → tc_search_and_sort.rb} +0 -0
- data/test/unit/search/{c_sort.rb → tc_sort.rb} +0 -0
- data/test/unit/search/tc_sort_field.rb +20 -7
- data/test/unit/search/{c_spans.rb → tc_spans.rb} +0 -0
- data/test/unit/store/rtc_fs_store.rb +62 -0
- data/test/unit/store/rtc_ram_store.rb +15 -0
- data/test/unit/store/rtm_store.rb +150 -0
- data/test/unit/store/rtm_store_lock.rb +2 -0
- data/test/unit/store/tc_fs_store.rb +54 -40
- data/test/unit/store/tc_ram_store.rb +20 -0
- data/test/unit/store/tm_store.rb +30 -146
- data/test/unit/store/tm_store_lock.rb +66 -0
- data/test/unit/utils/{tc_bit_vector.rb → rtc_bit_vector.rb} +0 -0
- data/test/unit/utils/{tc_date_tools.rb → rtc_date_tools.rb} +0 -0
- data/test/unit/utils/{tc_number_tools.rb → rtc_number_tools.rb} +0 -0
- data/test/unit/utils/{tc_parameter.rb → rtc_parameter.rb} +0 -0
- data/test/unit/utils/{tc_priority_queue.rb → rtc_priority_queue.rb} +0 -0
- data/test/unit/utils/{tc_string_helper.rb → rtc_string_helper.rb} +0 -0
- data/test/unit/utils/{tc_thread.rb → rtc_thread.rb} +0 -0
- data/test/unit/utils/{tc_weak_key_hash.rb → rtc_weak_key_hash.rb} +0 -0
- metadata +360 -289
- data/test/unit/document/c_field.rb +0 -98
- data/test/unit/search/c_sort_field.rb +0 -27
- data/test/unit/store/c_fs_store.rb +0 -76
- data/test/unit/store/c_ram_store.rb +0 -35
- data/test/unit/store/m_store.rb +0 -34
- data/test/unit/store/m_store_lock.rb +0 -68
@@ -0,0 +1,16 @@
|
|
1
|
+
|
2
|
+
/* This file was generated automatically by the Snowball to ANSI C compiler */
|
3
|
+
|
4
|
+
#ifdef __cplusplus
|
5
|
+
extern "C" {
|
6
|
+
#endif
|
7
|
+
|
8
|
+
extern struct SN_env * spanish_UTF_8_create_env(void);
|
9
|
+
extern void spanish_UTF_8_close_env(struct SN_env * z);
|
10
|
+
|
11
|
+
extern int spanish_UTF_8_stem(struct SN_env * z);
|
12
|
+
|
13
|
+
#ifdef __cplusplus
|
14
|
+
}
|
15
|
+
#endif
|
16
|
+
|
@@ -0,0 +1,313 @@
|
|
1
|
+
|
2
|
+
/* This file was generated automatically by the Snowball to ANSI C compiler */
|
3
|
+
|
4
|
+
#include "header.h"
|
5
|
+
|
6
|
+
extern int swedish_UTF_8_stem(struct SN_env * z);
|
7
|
+
static int r_other_suffix(struct SN_env * z);
|
8
|
+
static int r_consonant_pair(struct SN_env * z);
|
9
|
+
static int r_main_suffix(struct SN_env * z);
|
10
|
+
static int r_mark_regions(struct SN_env * z);
|
11
|
+
|
12
|
+
extern struct SN_env * swedish_UTF_8_create_env(void);
|
13
|
+
extern void swedish_UTF_8_close_env(struct SN_env * z);
|
14
|
+
|
15
|
+
static symbol s_0_0[1] = { 'a' };
|
16
|
+
static symbol s_0_1[4] = { 'a', 'r', 'n', 'a' };
|
17
|
+
static symbol s_0_2[4] = { 'e', 'r', 'n', 'a' };
|
18
|
+
static symbol s_0_3[7] = { 'h', 'e', 't', 'e', 'r', 'n', 'a' };
|
19
|
+
static symbol s_0_4[4] = { 'o', 'r', 'n', 'a' };
|
20
|
+
static symbol s_0_5[2] = { 'a', 'd' };
|
21
|
+
static symbol s_0_6[1] = { 'e' };
|
22
|
+
static symbol s_0_7[3] = { 'a', 'd', 'e' };
|
23
|
+
static symbol s_0_8[4] = { 'a', 'n', 'd', 'e' };
|
24
|
+
static symbol s_0_9[4] = { 'a', 'r', 'n', 'e' };
|
25
|
+
static symbol s_0_10[3] = { 'a', 'r', 'e' };
|
26
|
+
static symbol s_0_11[4] = { 'a', 's', 't', 'e' };
|
27
|
+
static symbol s_0_12[2] = { 'e', 'n' };
|
28
|
+
static symbol s_0_13[5] = { 'a', 'n', 'd', 'e', 'n' };
|
29
|
+
static symbol s_0_14[4] = { 'a', 'r', 'e', 'n' };
|
30
|
+
static symbol s_0_15[5] = { 'h', 'e', 't', 'e', 'n' };
|
31
|
+
static symbol s_0_16[3] = { 'e', 'r', 'n' };
|
32
|
+
static symbol s_0_17[2] = { 'a', 'r' };
|
33
|
+
static symbol s_0_18[2] = { 'e', 'r' };
|
34
|
+
static symbol s_0_19[5] = { 'h', 'e', 't', 'e', 'r' };
|
35
|
+
static symbol s_0_20[2] = { 'o', 'r' };
|
36
|
+
static symbol s_0_21[1] = { 's' };
|
37
|
+
static symbol s_0_22[2] = { 'a', 's' };
|
38
|
+
static symbol s_0_23[5] = { 'a', 'r', 'n', 'a', 's' };
|
39
|
+
static symbol s_0_24[5] = { 'e', 'r', 'n', 'a', 's' };
|
40
|
+
static symbol s_0_25[5] = { 'o', 'r', 'n', 'a', 's' };
|
41
|
+
static symbol s_0_26[2] = { 'e', 's' };
|
42
|
+
static symbol s_0_27[4] = { 'a', 'd', 'e', 's' };
|
43
|
+
static symbol s_0_28[5] = { 'a', 'n', 'd', 'e', 's' };
|
44
|
+
static symbol s_0_29[3] = { 'e', 'n', 's' };
|
45
|
+
static symbol s_0_30[5] = { 'a', 'r', 'e', 'n', 's' };
|
46
|
+
static symbol s_0_31[6] = { 'h', 'e', 't', 'e', 'n', 's' };
|
47
|
+
static symbol s_0_32[4] = { 'e', 'r', 'n', 's' };
|
48
|
+
static symbol s_0_33[2] = { 'a', 't' };
|
49
|
+
static symbol s_0_34[5] = { 'a', 'n', 'd', 'e', 't' };
|
50
|
+
static symbol s_0_35[3] = { 'h', 'e', 't' };
|
51
|
+
static symbol s_0_36[3] = { 'a', 's', 't' };
|
52
|
+
|
53
|
+
static struct among a_0[37] =
|
54
|
+
{
|
55
|
+
/* 0 */ { 1, s_0_0, -1, 1, 0},
|
56
|
+
/* 1 */ { 4, s_0_1, 0, 1, 0},
|
57
|
+
/* 2 */ { 4, s_0_2, 0, 1, 0},
|
58
|
+
/* 3 */ { 7, s_0_3, 2, 1, 0},
|
59
|
+
/* 4 */ { 4, s_0_4, 0, 1, 0},
|
60
|
+
/* 5 */ { 2, s_0_5, -1, 1, 0},
|
61
|
+
/* 6 */ { 1, s_0_6, -1, 1, 0},
|
62
|
+
/* 7 */ { 3, s_0_7, 6, 1, 0},
|
63
|
+
/* 8 */ { 4, s_0_8, 6, 1, 0},
|
64
|
+
/* 9 */ { 4, s_0_9, 6, 1, 0},
|
65
|
+
/* 10 */ { 3, s_0_10, 6, 1, 0},
|
66
|
+
/* 11 */ { 4, s_0_11, 6, 1, 0},
|
67
|
+
/* 12 */ { 2, s_0_12, -1, 1, 0},
|
68
|
+
/* 13 */ { 5, s_0_13, 12, 1, 0},
|
69
|
+
/* 14 */ { 4, s_0_14, 12, 1, 0},
|
70
|
+
/* 15 */ { 5, s_0_15, 12, 1, 0},
|
71
|
+
/* 16 */ { 3, s_0_16, -1, 1, 0},
|
72
|
+
/* 17 */ { 2, s_0_17, -1, 1, 0},
|
73
|
+
/* 18 */ { 2, s_0_18, -1, 1, 0},
|
74
|
+
/* 19 */ { 5, s_0_19, 18, 1, 0},
|
75
|
+
/* 20 */ { 2, s_0_20, -1, 1, 0},
|
76
|
+
/* 21 */ { 1, s_0_21, -1, 2, 0},
|
77
|
+
/* 22 */ { 2, s_0_22, 21, 1, 0},
|
78
|
+
/* 23 */ { 5, s_0_23, 22, 1, 0},
|
79
|
+
/* 24 */ { 5, s_0_24, 22, 1, 0},
|
80
|
+
/* 25 */ { 5, s_0_25, 22, 1, 0},
|
81
|
+
/* 26 */ { 2, s_0_26, 21, 1, 0},
|
82
|
+
/* 27 */ { 4, s_0_27, 26, 1, 0},
|
83
|
+
/* 28 */ { 5, s_0_28, 26, 1, 0},
|
84
|
+
/* 29 */ { 3, s_0_29, 21, 1, 0},
|
85
|
+
/* 30 */ { 5, s_0_30, 29, 1, 0},
|
86
|
+
/* 31 */ { 6, s_0_31, 29, 1, 0},
|
87
|
+
/* 32 */ { 4, s_0_32, 21, 1, 0},
|
88
|
+
/* 33 */ { 2, s_0_33, -1, 1, 0},
|
89
|
+
/* 34 */ { 5, s_0_34, -1, 1, 0},
|
90
|
+
/* 35 */ { 3, s_0_35, -1, 1, 0},
|
91
|
+
/* 36 */ { 3, s_0_36, -1, 1, 0}
|
92
|
+
};
|
93
|
+
|
94
|
+
static symbol s_1_0[2] = { 'd', 'd' };
|
95
|
+
static symbol s_1_1[2] = { 'g', 'd' };
|
96
|
+
static symbol s_1_2[2] = { 'n', 'n' };
|
97
|
+
static symbol s_1_3[2] = { 'd', 't' };
|
98
|
+
static symbol s_1_4[2] = { 'g', 't' };
|
99
|
+
static symbol s_1_5[2] = { 'k', 't' };
|
100
|
+
static symbol s_1_6[2] = { 't', 't' };
|
101
|
+
|
102
|
+
static struct among a_1[7] =
|
103
|
+
{
|
104
|
+
/* 0 */ { 2, s_1_0, -1, -1, 0},
|
105
|
+
/* 1 */ { 2, s_1_1, -1, -1, 0},
|
106
|
+
/* 2 */ { 2, s_1_2, -1, -1, 0},
|
107
|
+
/* 3 */ { 2, s_1_3, -1, -1, 0},
|
108
|
+
/* 4 */ { 2, s_1_4, -1, -1, 0},
|
109
|
+
/* 5 */ { 2, s_1_5, -1, -1, 0},
|
110
|
+
/* 6 */ { 2, s_1_6, -1, -1, 0}
|
111
|
+
};
|
112
|
+
|
113
|
+
static symbol s_2_0[2] = { 'i', 'g' };
|
114
|
+
static symbol s_2_1[3] = { 'l', 'i', 'g' };
|
115
|
+
static symbol s_2_2[3] = { 'e', 'l', 's' };
|
116
|
+
static symbol s_2_3[5] = { 'f', 'u', 'l', 'l', 't' };
|
117
|
+
static symbol s_2_4[5] = { 'l', 0xC3, 0xB6, 's', 't' };
|
118
|
+
|
119
|
+
static struct among a_2[5] =
|
120
|
+
{
|
121
|
+
/* 0 */ { 2, s_2_0, -1, 1, 0},
|
122
|
+
/* 1 */ { 3, s_2_1, 0, 1, 0},
|
123
|
+
/* 2 */ { 3, s_2_2, -1, 1, 0},
|
124
|
+
/* 3 */ { 5, s_2_3, -1, 3, 0},
|
125
|
+
/* 4 */ { 5, s_2_4, -1, 2, 0}
|
126
|
+
};
|
127
|
+
|
128
|
+
static unsigned char g_v[] = { 17, 65, 16, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 24, 0, 32 };
|
129
|
+
|
130
|
+
static unsigned char g_s_ending[] = { 119, 127, 149 };
|
131
|
+
|
132
|
+
static symbol s_0[] = { 'l', 0xC3, 0xB6, 's' };
|
133
|
+
static symbol s_1[] = { 'f', 'u', 'l', 'l' };
|
134
|
+
|
135
|
+
static int r_mark_regions(struct SN_env * z) {
|
136
|
+
z->I[0] = z->l;
|
137
|
+
{ int c_test = z->c; /* test, line 29 */
|
138
|
+
{ int c = skip_utf8(z->p, z->c, 0, z->l, + 3);
|
139
|
+
if (c < 0) return 0;
|
140
|
+
z->c = c; /* hop, line 29 */
|
141
|
+
}
|
142
|
+
z->I[1] = z->c; /* setmark x, line 29 */
|
143
|
+
z->c = c_test;
|
144
|
+
}
|
145
|
+
while(1) { /* goto, line 30 */
|
146
|
+
int c = z->c;
|
147
|
+
if (!(in_grouping_U(z, g_v, 97, 246))) goto lab0;
|
148
|
+
z->c = c;
|
149
|
+
break;
|
150
|
+
lab0:
|
151
|
+
z->c = c;
|
152
|
+
{ int c = skip_utf8(z->p, z->c, 0, z->l, 1);
|
153
|
+
if (c < 0) return 0;
|
154
|
+
z->c = c; /* goto, line 30 */
|
155
|
+
}
|
156
|
+
}
|
157
|
+
while(1) { /* gopast, line 30 */
|
158
|
+
if (!(out_grouping_U(z, g_v, 97, 246))) goto lab1;
|
159
|
+
break;
|
160
|
+
lab1:
|
161
|
+
{ int c = skip_utf8(z->p, z->c, 0, z->l, 1);
|
162
|
+
if (c < 0) return 0;
|
163
|
+
z->c = c; /* gopast, line 30 */
|
164
|
+
}
|
165
|
+
}
|
166
|
+
z->I[0] = z->c; /* setmark p1, line 30 */
|
167
|
+
/* try, line 31 */
|
168
|
+
if (!(z->I[0] < z->I[1])) goto lab2;
|
169
|
+
z->I[0] = z->I[1];
|
170
|
+
lab2:
|
171
|
+
return 1;
|
172
|
+
}
|
173
|
+
|
174
|
+
static int r_main_suffix(struct SN_env * z) {
|
175
|
+
int among_var;
|
176
|
+
{ int m3; /* setlimit, line 37 */
|
177
|
+
int m = z->l - z->c; (void) m;
|
178
|
+
if (z->c < z->I[0]) return 0;
|
179
|
+
z->c = z->I[0]; /* tomark, line 37 */
|
180
|
+
m3 = z->lb; z->lb = z->c;
|
181
|
+
z->c = z->l - m;
|
182
|
+
z->ket = z->c; /* [, line 37 */
|
183
|
+
among_var = find_among_b(z, a_0, 37); /* substring, line 37 */
|
184
|
+
if (!(among_var)) { z->lb = m3; return 0; }
|
185
|
+
z->bra = z->c; /* ], line 37 */
|
186
|
+
z->lb = m3;
|
187
|
+
}
|
188
|
+
switch(among_var) {
|
189
|
+
case 0: return 0;
|
190
|
+
case 1:
|
191
|
+
{ int ret;
|
192
|
+
ret = slice_del(z); /* delete, line 44 */
|
193
|
+
if (ret < 0) return ret;
|
194
|
+
}
|
195
|
+
break;
|
196
|
+
case 2:
|
197
|
+
if (!(in_grouping_b_U(z, g_s_ending, 98, 121))) return 0;
|
198
|
+
{ int ret;
|
199
|
+
ret = slice_del(z); /* delete, line 46 */
|
200
|
+
if (ret < 0) return ret;
|
201
|
+
}
|
202
|
+
break;
|
203
|
+
}
|
204
|
+
return 1;
|
205
|
+
}
|
206
|
+
|
207
|
+
static int r_consonant_pair(struct SN_env * z) {
|
208
|
+
{ int m3; /* setlimit, line 50 */
|
209
|
+
int m = z->l - z->c; (void) m;
|
210
|
+
if (z->c < z->I[0]) return 0;
|
211
|
+
z->c = z->I[0]; /* tomark, line 50 */
|
212
|
+
m3 = z->lb; z->lb = z->c;
|
213
|
+
z->c = z->l - m;
|
214
|
+
{ int m = z->l - z->c; (void) m; /* and, line 52 */
|
215
|
+
if (!(find_among_b(z, a_1, 7))) { z->lb = m3; return 0; } /* among, line 51 */
|
216
|
+
z->c = z->l - m;
|
217
|
+
z->ket = z->c; /* [, line 52 */
|
218
|
+
{ int c = skip_utf8(z->p, z->c, z->lb, 0, -1);
|
219
|
+
if (c < 0) { z->lb = m3; return 0; }
|
220
|
+
z->c = c; /* next, line 52 */
|
221
|
+
}
|
222
|
+
z->bra = z->c; /* ], line 52 */
|
223
|
+
{ int ret;
|
224
|
+
ret = slice_del(z); /* delete, line 52 */
|
225
|
+
if (ret < 0) return ret;
|
226
|
+
}
|
227
|
+
}
|
228
|
+
z->lb = m3;
|
229
|
+
}
|
230
|
+
return 1;
|
231
|
+
}
|
232
|
+
|
233
|
+
static int r_other_suffix(struct SN_env * z) {
|
234
|
+
int among_var;
|
235
|
+
{ int m3; /* setlimit, line 55 */
|
236
|
+
int m = z->l - z->c; (void) m;
|
237
|
+
if (z->c < z->I[0]) return 0;
|
238
|
+
z->c = z->I[0]; /* tomark, line 55 */
|
239
|
+
m3 = z->lb; z->lb = z->c;
|
240
|
+
z->c = z->l - m;
|
241
|
+
z->ket = z->c; /* [, line 56 */
|
242
|
+
among_var = find_among_b(z, a_2, 5); /* substring, line 56 */
|
243
|
+
if (!(among_var)) { z->lb = m3; return 0; }
|
244
|
+
z->bra = z->c; /* ], line 56 */
|
245
|
+
switch(among_var) {
|
246
|
+
case 0: { z->lb = m3; return 0; }
|
247
|
+
case 1:
|
248
|
+
{ int ret;
|
249
|
+
ret = slice_del(z); /* delete, line 57 */
|
250
|
+
if (ret < 0) return ret;
|
251
|
+
}
|
252
|
+
break;
|
253
|
+
case 2:
|
254
|
+
{ int ret;
|
255
|
+
ret = slice_from_s(z, 4, s_0); /* <-, line 58 */
|
256
|
+
if (ret < 0) return ret;
|
257
|
+
}
|
258
|
+
break;
|
259
|
+
case 3:
|
260
|
+
{ int ret;
|
261
|
+
ret = slice_from_s(z, 4, s_1); /* <-, line 59 */
|
262
|
+
if (ret < 0) return ret;
|
263
|
+
}
|
264
|
+
break;
|
265
|
+
}
|
266
|
+
z->lb = m3;
|
267
|
+
}
|
268
|
+
return 1;
|
269
|
+
}
|
270
|
+
|
271
|
+
extern int swedish_UTF_8_stem(struct SN_env * z) {
|
272
|
+
{ int c = z->c; /* do, line 66 */
|
273
|
+
{ int ret = r_mark_regions(z);
|
274
|
+
if (ret == 0) goto lab0; /* call mark_regions, line 66 */
|
275
|
+
if (ret < 0) return ret;
|
276
|
+
}
|
277
|
+
lab0:
|
278
|
+
z->c = c;
|
279
|
+
}
|
280
|
+
z->lb = z->c; z->c = z->l; /* backwards, line 67 */
|
281
|
+
|
282
|
+
{ int m = z->l - z->c; (void) m; /* do, line 68 */
|
283
|
+
{ int ret = r_main_suffix(z);
|
284
|
+
if (ret == 0) goto lab1; /* call main_suffix, line 68 */
|
285
|
+
if (ret < 0) return ret;
|
286
|
+
}
|
287
|
+
lab1:
|
288
|
+
z->c = z->l - m;
|
289
|
+
}
|
290
|
+
{ int m = z->l - z->c; (void) m; /* do, line 69 */
|
291
|
+
{ int ret = r_consonant_pair(z);
|
292
|
+
if (ret == 0) goto lab2; /* call consonant_pair, line 69 */
|
293
|
+
if (ret < 0) return ret;
|
294
|
+
}
|
295
|
+
lab2:
|
296
|
+
z->c = z->l - m;
|
297
|
+
}
|
298
|
+
{ int m = z->l - z->c; (void) m; /* do, line 70 */
|
299
|
+
{ int ret = r_other_suffix(z);
|
300
|
+
if (ret == 0) goto lab3; /* call other_suffix, line 70 */
|
301
|
+
if (ret < 0) return ret;
|
302
|
+
}
|
303
|
+
lab3:
|
304
|
+
z->c = z->l - m;
|
305
|
+
}
|
306
|
+
z->c = z->lb;
|
307
|
+
return 1;
|
308
|
+
}
|
309
|
+
|
310
|
+
extern struct SN_env * swedish_UTF_8_create_env(void) { return SN_create_env(0, 2, 0); }
|
311
|
+
|
312
|
+
extern void swedish_UTF_8_close_env(struct SN_env * z) { SN_close_env(z); }
|
313
|
+
|
@@ -0,0 +1,16 @@
|
|
1
|
+
|
2
|
+
/* This file was generated automatically by the Snowball to ANSI C compiler */
|
3
|
+
|
4
|
+
#ifdef __cplusplus
|
5
|
+
extern "C" {
|
6
|
+
#endif
|
7
|
+
|
8
|
+
extern struct SN_env * swedish_UTF_8_create_env(void);
|
9
|
+
extern void swedish_UTF_8_close_env(struct SN_env * z);
|
10
|
+
|
11
|
+
extern int swedish_UTF_8_stem(struct SN_env * z);
|
12
|
+
|
13
|
+
#ifdef __cplusplus
|
14
|
+
}
|
15
|
+
#endif
|
16
|
+
|
data/ext/stopwords.c
ADDED
@@ -0,0 +1,325 @@
|
|
1
|
+
#include <stdlib.h>
|
2
|
+
|
3
|
+
/*
|
4
|
+
* This list of stop words is taken from
|
5
|
+
*
|
6
|
+
* http://snowball.tartarus.org/
|
7
|
+
*
|
8
|
+
* Many thanks to Martin Porter
|
9
|
+
*/
|
10
|
+
|
11
|
+
const char *ENGLISH_STOP_WORDS[] = {
|
12
|
+
"a", "an", "and", "are", "as", "at", "be", "but", "by", "for", "if", "in",
|
13
|
+
"into", "is", "it", "no", "not", "of", "on", "or", "s", "such", "t", "that",
|
14
|
+
"the", "their", "then", "there", "these", "they", "this", "to", "was",
|
15
|
+
"will", "with", NULL
|
16
|
+
};
|
17
|
+
|
18
|
+
const char *FULL_ENGLISH_STOP_WORDS[] = {
|
19
|
+
"a", "about", "above", "after", "again", "against", "all", "am", "an",
|
20
|
+
"and", "any", "are", "aren't", "as", "at", "be", "because", "been",
|
21
|
+
"before", "being", "below", "between", "both", "but", "by", "cannot",
|
22
|
+
"can't", "could", "couldn't", "did", "didn't", "do", "does", "doesn't",
|
23
|
+
"doing", "don't", "down", "during", "each", "few", "for", "from", "further",
|
24
|
+
"had", "hadn't", "has", "hasn't", "have", "haven't", "having", "he", "he'd",
|
25
|
+
"he'll", "her", "here", "here's", "hers", "herself", "he's", "him",
|
26
|
+
"himself", "his", "how", "how's", "i", "i'd", "if", "i'll", "i'm", "in",
|
27
|
+
"into", "is", "isn't", "it", "its", "it's", "itself", "i've", "let's", "me",
|
28
|
+
"more", "most", "mustn't", "my", "myself", "no", "nor", "not", "of", "off",
|
29
|
+
"on", "once", "only", "or", "other", "ought", "our", "ours", "ourselves",
|
30
|
+
"out", "over", "own", "same", "shan't", "she", "she'd", "she'll", "she's",
|
31
|
+
"should", "shouldn't", "so", "some", "such", "than", "that", "that's",
|
32
|
+
"the", "their", "theirs", "them", "themselves", "then", "there", "there's",
|
33
|
+
"these", "they", "they'd", "they'll", "they're", "they've", "this", "those",
|
34
|
+
"through", "to", "too", "under", "until", "up", "very", "was", "wasn't",
|
35
|
+
"we", "we'd", "we'll", "were", "we're", "weren't", "we've", "what",
|
36
|
+
"what's", "when", "when's", "where", "where's", "which", "while", "who",
|
37
|
+
"whom", "who's", "why", "why's", "with", "won't", "would", "wouldn't",
|
38
|
+
"you", "you'd", "you'll", "your", "you're", "yours", "yourself",
|
39
|
+
"yourselves", "you've", NULL
|
40
|
+
};
|
41
|
+
|
42
|
+
const char *EXTENDED_ENGLISH_STOP_WORDS[] = {
|
43
|
+
"a", "about", "above", "after", "again", "against", "all", "am", "an",
|
44
|
+
"and", "any", "are", "aren't", "as", "at", "be", "because", "been",
|
45
|
+
"before", "being", "below", "between", "both", "but", "by", "cannot",
|
46
|
+
"can't", "could", "couldn't", "did", "didn't", "do", "does", "doesn't",
|
47
|
+
"doing", "don't", "down", "during", "each", "few", "for", "from", "further",
|
48
|
+
"had", "hadn't", "has", "hasn't", "have", "haven't", "having", "he", "he'd",
|
49
|
+
"he'll", "her", "here", "here's", "hers", "herself", "he's", "him",
|
50
|
+
"himself", "his", "how", "how's", "i", "i'd", "if", "i'll", "i'm", "in",
|
51
|
+
"into", "is", "isn't", "it", "its", "it's", "itself", "i've", "let's", "me",
|
52
|
+
"more", "most", "mustn't", "my", "myself", "no", "nor", "not", "of", "off",
|
53
|
+
"on", "once", "only", "or", "other", "ought", "our", "ours", "ourselves",
|
54
|
+
"out", "over", "own", "same", "shan't", "she", "she'd", "she'll", "she's",
|
55
|
+
"should", "shouldn't", "so", "some", "such", "than", "that", "that's",
|
56
|
+
"the", "their", "theirs", "them", "themselves", "then", "there", "there's",
|
57
|
+
"these", "they", "they'd", "they'll", "they're", "they've", "this", "those",
|
58
|
+
"through", "to", "too", "under", "until", "up", "very", "was", "wasn't",
|
59
|
+
"we", "we'd", "we'll", "were", "we're", "weren't", "we've", "what",
|
60
|
+
"what's", "when", "when's", "where", "where's", "which", "while", "who",
|
61
|
+
"whom", "who's", "why", "why's", "with", "won't", "would", "wouldn't",
|
62
|
+
"you", "you'd", "you'll", "your", "you're", "yours", "yourself",
|
63
|
+
"yourselves", "you've",
|
64
|
+
|
65
|
+
/* Most common words in the English Language */
|
66
|
+
"one", "every", "least", "less", "many", "now", "ever", "never", "say",
|
67
|
+
"says", "said", "also", "get", "go", "goes", "just", "made", "make", "put",
|
68
|
+
"see", "seen", "whether", "like", "well", "back", "even", "still", "way",
|
69
|
+
"take", "since", "another", "however", "two", "three", "four", "five",
|
70
|
+
"first", "second", "new", "old", "high", "long", NULL
|
71
|
+
};
|
72
|
+
|
73
|
+
const char *FULL_FRENCH_STOP_WORDS[] = {
|
74
|
+
"au", "aux", "avec", "ce", "ces", "dans", "de", "des", "du", "elle", "en",
|
75
|
+
"et", "eux", "il", "je", "la", "le", "leur", "lui", "ma", "mais", "me",
|
76
|
+
"même", "mes", "moi", "mon", "ne", "nos", "notre", "nous", "on", "ou",
|
77
|
+
"par", "pas", "pour", "qu", "que", "qui", "sa", "se", "ses", "son", "sur",
|
78
|
+
"ta", "te", "tes", "toi", "ton", "tu", "un", "une", "vos", "votre", "vous",
|
79
|
+
"c", "d", "j", "l", "à", "m", "n", "s", "t", "y", "été", "étée", "étées",
|
80
|
+
"étés", "étant", "étante", "étants", "étantes", "suis", "es", "est",
|
81
|
+
"sommes", "êtes", "sont", "serai", "seras", "sera", "serons", "serez",
|
82
|
+
"seront", "serais", "serait", "serions", "seriez", "seraient", "étais",
|
83
|
+
"était", "étions", "étiez", "étaient", "fus", "fut", "fûmes", "fûtes",
|
84
|
+
"furent", "sois", "soit", "soyons", "soyez", "soient", "fusse", "fusses",
|
85
|
+
"fût", "fussions", "fussiez", "fussent", "ayant", "ayante", "ayantes",
|
86
|
+
"ayants", "eu", "eue", "eues", "eus", "ai", "as", "avons", "avez", "ont",
|
87
|
+
"aurai", "auras", "aura", "aurons", "aurez", "auront", "aurais", "aurait",
|
88
|
+
"aurions", "auriez", "auraient", "avais", "avait", "avions", "aviez",
|
89
|
+
"avaient", "eut", "eûmes", "eûtes", "eurent", "aie", "aies", "ait", "ayons",
|
90
|
+
"ayez", "aient", "eusse", "eusses", "eût", "eussions", "eussiez", "eussent",
|
91
|
+
NULL
|
92
|
+
};
|
93
|
+
|
94
|
+
const char *FULL_SPANISH_STOP_WORDS[] = {
|
95
|
+
"de", "la", "que", "el", "en", "y", "a", "los", "del", "se", "las", "por",
|
96
|
+
"un", "para", "con", "no", "una", "su", "al", "lo", "como", "más", "pero",
|
97
|
+
"sus", "le", "ya", "o", "este", "sí", "porque", "esta", "entre", "cuando",
|
98
|
+
"muy", "sin", "sobre", "también", "me", "hasta", "hay", "donde", "quien",
|
99
|
+
"desde", "todo", "nos", "durante", "todos", "uno", "les", "ni", "contra",
|
100
|
+
"otros", "ese", "eso", "ante", "ellos", "e", "esto", "mí", "antes",
|
101
|
+
"algunos", "qué", "unos", "yo", "otro", "otras", "otra", "él", "tanto",
|
102
|
+
"esa", "estos", "mucho", "quienes", "nada", "muchos", "cual", "poco",
|
103
|
+
"ella", "estar", "estas", "algunas", "algo", "nosotros", "mi", "mis", "tú",
|
104
|
+
"te", "ti", "tu", "tus", "ellas", "nosotras", "vosostros", "vosostras",
|
105
|
+
"os", "mío", "mía", "míos", "mías", "tuyo", "tuya", "tuyos", "tuyas",
|
106
|
+
"suyo", "suya", "suyos", "suyas", "nuestro", "nuestra", "nuestros",
|
107
|
+
"nuestras", "vuestro", "vuestra", "vuestros", "vuestras", "esos", "esas",
|
108
|
+
"estoy", "estás", "está", "estamos", "estáis", "están", "esté", "estés",
|
109
|
+
"estemos", "estéis", "estén", "estaré", "estarás", "estará", "estaremos",
|
110
|
+
"estaréis", "estarán", "estaría", "estarías", "estaríamos", "estaríais",
|
111
|
+
"estarían", "estaba", "estabas", "estábamos", "estabais", "estaban",
|
112
|
+
"estuve", "estuviste", "estuvo", "estuvimos", "estuvisteis", "estuvieron",
|
113
|
+
"estuviera", "estuvieras", "estuviéramos", "estuvierais", "estuvieran",
|
114
|
+
"estuviese", "estuvieses", "estuviésemos", "estuvieseis", "estuviesen",
|
115
|
+
"estando", "estado", "estada", "estados", "estadas", "estad", "he", "has",
|
116
|
+
"ha", "hemos", "habéis", "han", "haya", "hayas", "hayamos", "hayáis",
|
117
|
+
"hayan", "habré", "habrás", "habrá", "habremos", "habréis", "habrán",
|
118
|
+
"habría", "habrías", "habríamos", "habríais", "habrían", "había", "habías",
|
119
|
+
"habíamos", "habíais", "habían", "hube", "hubiste", "hubo", "hubimos",
|
120
|
+
"hubisteis", "hubieron", "hubiera", "hubieras", "hubiéramos", "hubierais",
|
121
|
+
"hubieran", "hubiese", "hubieses", "hubiésemos", "hubieseis", "hubiesen",
|
122
|
+
"habiendo", "habido", "habida", "habidos", "habidas", "soy", "eres", "es",
|
123
|
+
"somos", "sois", "son", "sea", "seas", "seamos", "seáis", "sean", "seré",
|
124
|
+
"serás", "será", "seremos", "seréis", "serán", "sería", "serías",
|
125
|
+
"seríamos", "seríais", "serían", "era", "eras", "éramos", "erais", "eran",
|
126
|
+
"fui", "fuiste", "fue", "fuimos", "fuisteis", "fueron", "fuera", "fueras",
|
127
|
+
"fuéramos", "fuerais", "fueran", "fuese", "fueses", "fuésemos", "fueseis",
|
128
|
+
"fuesen", "sintiendo", "sentido", "sentida", "sentidos", "sentidas",
|
129
|
+
"siente", "sentid", "tengo", "tienes", "tiene", "tenemos", "tenéis",
|
130
|
+
"tienen", "tenga", "tengas", "tengamos", "tengáis", "tengan", "tendré",
|
131
|
+
"tendrás", "tendrá", "tendremos", "tendréis", "tendrán", "tendría",
|
132
|
+
"tendrías", "tendríamos", "tendríais", "tendrían", "tenía", "tenías",
|
133
|
+
"teníamos", "teníais", "tenían", "tuve", "tuviste", "tuvo", "tuvimos",
|
134
|
+
"tuvisteis", "tuvieron", "tuviera", "tuvieras", "tuviéramos", "tuvierais",
|
135
|
+
"tuvieran", "tuviese", "tuvieses", "tuviésemos", "tuvieseis", "tuviesen",
|
136
|
+
"teniendo", "tenido", "tenida", "tenidos", "tenidas", "tened", NULL
|
137
|
+
};
|
138
|
+
|
139
|
+
const char *FULL_PORTUGUESE_STOP_WORDS[] = {
|
140
|
+
"de", "a", "o", "que", "e", "do", "da", "em", "um", "para", "com", "não",
|
141
|
+
"uma", "os", "no", "se", "na", "por", "mais", "as", "dos", "como", "mas",
|
142
|
+
"ao", "ele", "das", "à", "seu", "sua", "ou", "quando", "muito", "nos", "já",
|
143
|
+
"eu", "também", "só", "pelo", "pela", "até", "isso", "ela", "entre",
|
144
|
+
"depois", "sem", "mesmo", "aos", "seus", "quem", "nas", "me", "esse",
|
145
|
+
"eles", "você", "essa", "num", "nem", "suas", "meu", "às", "minha", "numa",
|
146
|
+
"pelos", "elas", "qual", "nós", "lhe", "deles", "essas", "esses", "pelas",
|
147
|
+
"este", "dele", "tu", "te", "vocês", "vos", "lhes", "meus", "minhas", "teu",
|
148
|
+
"tua", "teus", "tuas", "nosso", "nossa", "nossos", "nossas", "dela",
|
149
|
+
"delas", "esta", "estes", "estas", "aquele", "aquela", "aqueles", "aquelas",
|
150
|
+
"isto", "aquilo", "estou", "está", "estamos", "estão", "estive", "esteve",
|
151
|
+
"estivemos", "estiveram", "estava", "estávamos", "estavam", "estivera",
|
152
|
+
"estivéramos", "esteja", "estejamos", "estejam", "estivesse",
|
153
|
+
"estivéssemos", "estivessem", "estiver", "estivermos", "estiverem", "hei",
|
154
|
+
"há", "havemos", "hão", "houve", "houvemos", "houveram", "houvera",
|
155
|
+
"houvéramos", "haja", "hajamos", "hajam", "houvesse", "houvéssemos",
|
156
|
+
"houvessem", "houver", "houvermos", "houverem", "houverei", "houverá",
|
157
|
+
"houveremos", "houverão", "houveria", "houveríamos", "houveriam", "sou",
|
158
|
+
"somos", "são", "era", "éramos", "eram", "fui", "foi", "fomos", "foram",
|
159
|
+
"fora", "fôramos", "seja", "sejamos", "sejam", "fosse", "fôssemos",
|
160
|
+
"fossem", "for", "formos", "forem", "serei", "será", "seremos", "serão",
|
161
|
+
"seria", "seríamos", "seriam", "tenho", "tem", "temos", "tém", "tinha",
|
162
|
+
"tínhamos", "tinham", "tive", "teve", "tivemos", "tiveram", "tivera",
|
163
|
+
"tivéramos", "tenha", "tenhamos", "tenham", "tivesse", "tivéssemos",
|
164
|
+
"tivessem", "tiver", "tivermos", "tiverem", "terei", "terá", "teremos",
|
165
|
+
"terão", "teria", "teríamos", "teriam", NULL
|
166
|
+
};
|
167
|
+
|
168
|
+
const char *FULL_ITALIAN_STOP_WORDS[] = {
|
169
|
+
"ad", "al", "allo", "ai", "agli", "all", "agl", "alla", "alle", "con",
|
170
|
+
"col", "coi", "da", "dal", "dallo", "dai", "dagli", "dall", "dagl", "dalla",
|
171
|
+
"dalle", "di", "del", "dello", "dei", "degli", "dell", "degl", "della",
|
172
|
+
"delle", "in", "nel", "nello", "nei", "negli", "nell", "negl", "nella",
|
173
|
+
"nelle", "su", "sul", "sullo", "sui", "sugli", "sull", "sugl", "sulla",
|
174
|
+
"sulle", "per", "tra", "contro", "io", "tu", "lui", "lei", "noi", "voi",
|
175
|
+
"loro", "mio", "mia", "miei", "mie", "tuo", "tua", "tuoi", "tue", "suo",
|
176
|
+
"sua", "suoi", "sue", "nostro", "nostra", "nostri", "nostre", "vostro",
|
177
|
+
"vostra", "vostri", "vostre", "mi", "ti", "ci", "vi", "lo", "la", "li",
|
178
|
+
"le", "gli", "ne", "il", "un", "uno", "una", "ma", "ed", "se", "perché",
|
179
|
+
"anche", "come", "dov", "dove", "che", "chi", "cui", "non", "più", "quale",
|
180
|
+
"quanto", "quanti", "quanta", "quante", "quello", "quelli", "quella",
|
181
|
+
"quelle", "questo", "questi", "questa", "queste", "si", "tutto", "tutti",
|
182
|
+
"a", "c", "e", "i", "l", "o", "ho", "hai", "ha", "abbiamo", "avete",
|
183
|
+
"hanno", "abbia", "abbiate", "abbiano", "avrò", "avrai", "avrà", "avremo",
|
184
|
+
"avrete", "avranno", "avrei", "avresti", "avrebbe", "avremmo", "avreste",
|
185
|
+
"avrebbero", "avevo", "avevi", "aveva", "avevamo", "avevate", "avevano",
|
186
|
+
"ebbi", "avesti", "ebbe", "avemmo", "aveste", "ebbero", "avessi", "avesse",
|
187
|
+
"avessimo", "avessero", "avendo", "avuto", "avuta", "avuti", "avute",
|
188
|
+
"sono", "sei", "è", "siamo", "siete", "sia", "siate", "siano", "sarò",
|
189
|
+
"sarai", "sarà", "saremo", "sarete", "saranno", "sarei", "saresti",
|
190
|
+
"sarebbe", "saremmo", "sareste", "sarebbero", "ero", "eri", "era",
|
191
|
+
"eravamo", "eravate", "erano", "fui", "fosti", "fu", "fummo", "foste",
|
192
|
+
"furono", "fossi", "fosse", "fossimo", "fossero", "essendo", "faccio",
|
193
|
+
"fai", "facciamo", "fanno", "faccia", "facciate", "facciano", "farò",
|
194
|
+
"farai", "farà", "faremo", "farete", "faranno", "farei", "faresti",
|
195
|
+
"farebbe", "faremmo", "fareste", "farebbero", "facevo", "facevi", "faceva",
|
196
|
+
"facevamo", "facevate", "facevano", "feci", "facesti", "fece", "facemmo",
|
197
|
+
"faceste", "fecero", "facessi", "facesse", "facessimo", "facessero",
|
198
|
+
"facendo", "sto", "stai", "sta", "stiamo", "stanno", "stia", "stiate",
|
199
|
+
"stiano", "starò", "starai", "starà", "staremo", "starete", "staranno",
|
200
|
+
"starei", "staresti", "starebbe", "staremmo", "stareste", "starebbero",
|
201
|
+
"stavo", "stavi", "stava", "stavamo", "stavate", "stavano", "stetti",
|
202
|
+
"stesti", "stette", "stemmo", "steste", "stettero", "stessi", "stesse",
|
203
|
+
"stessimo", "stessero", "stando", NULL
|
204
|
+
};
|
205
|
+
|
206
|
+
const char *FULL_GERMAN_STOP_WORDS[] = {
|
207
|
+
"aber", "alle", "allem", "allen", "aller", "alles", "als", "also", "am",
|
208
|
+
"an", "ander", "andere", "anderem", "anderen", "anderer", "anderes",
|
209
|
+
"anderm", "andern", "anderr", "anders", "auch", "auf", "aus", "bei", "bin",
|
210
|
+
"bis", "bist", "da", "damit", "dann", "der", "den", "des", "dem", "die",
|
211
|
+
"das", "daß", "derselbe", "derselben", "denselben", "desselben",
|
212
|
+
"demselben", "dieselbe", "dieselben", "dasselbe", "dazu", "dein", "deine",
|
213
|
+
"deinem", "deinen", "deiner", "deines", "denn", "derer", "dessen", "dich",
|
214
|
+
"dir", "du", "dies", "diese", "diesem", "diesen", "dieser", "dieses",
|
215
|
+
"doch", "dort", "durch", "ein", "eine", "einem", "einen", "einer", "eines",
|
216
|
+
"einig", "einige", "einigem", "einigen", "einiger", "einiges", "einmal",
|
217
|
+
"er", "ihn", "ihm", "es", "etwas", "euer", "eure", "eurem", "euren",
|
218
|
+
"eurer", "eures", "für", "gegen", "gewesen", "hab", "habe", "haben", "hat",
|
219
|
+
"hatte", "hatten", "hier", "hin", "hinter", "ich", "mich", "mir", "ihr",
|
220
|
+
"ihre", "ihrem", "ihren", "ihrer", "ihres", "euch", "im", "in", "indem",
|
221
|
+
"ins", "ist", "jede", "jedem", "jeden", "jeder", "jedes", "jene", "jenem",
|
222
|
+
"jenen", "jener", "jenes", "jetzt", "kann", "kein", "keine", "keinem",
|
223
|
+
"keinen", "keiner", "keines", "können", "könnte", "machen", "man", "manche",
|
224
|
+
"manchem", "manchen", "mancher", "manches", "mein", "meine", "meinem",
|
225
|
+
"meinen", "meiner", "meines", "mit", "muss", "musste", "nach", "nicht",
|
226
|
+
"nichts", "noch", "nun", "nur", "ob", "oder", "ohne", "sehr", "sein",
|
227
|
+
"seine", "seinem", "seinen", "seiner", "seines", "selbst", "sich", "sie",
|
228
|
+
"ihnen", "sind", "so", "solche", "solchem", "solchen", "solcher", "solches",
|
229
|
+
"soll", "sollte", "sondern", "sonst", "über", "um", "und", "uns", "unse",
|
230
|
+
"unsem", "unsen", "unser", "unses", "unter", "viel", "vom", "von", "vor",
|
231
|
+
"während", "war", "waren", "warst", "was", "weg", "weil", "weiter",
|
232
|
+
"welche", "welchem", "welchen", "welcher", "welches", "wenn", "werde",
|
233
|
+
"werden", "wie", "wieder", "will", "wir", "wird", "wirst", "wo", "wollen",
|
234
|
+
"wollte", "würde", "würden", "zu", "zum", "zur", "zwar", "zwischen", NULL
|
235
|
+
};
|
236
|
+
|
237
|
+
const char *FULL_DUTCH_STOP_WORDS[] = {
|
238
|
+
"de", "en", "van", "ik", "te", "dat", "die", "in", "een", "hij", "het",
|
239
|
+
"niet", "zijn", "is", "was", "op", "aan", "met", "als", "voor", "had", "er",
|
240
|
+
"maar", "om", "hem", "dan", "zou", "of", "wat", "mijn", "men", "dit", "zo",
|
241
|
+
"door", "over", "ze", "zich", "bij", "ook", "tot", "je", "mij", "uit",
|
242
|
+
"der", "daar", "haar", "naar", "heb", "hoe", "heeft", "hebben", "deze", "u",
|
243
|
+
"want", "nog", "zal", "me", "zij", "nu", "ge", "geen", "omdat", "iets",
|
244
|
+
"worden", "toch", "al", "waren", "veel", "meer", "doen", "toen", "moet",
|
245
|
+
"ben", "zonder", "kan", "hun", "dus", "alles", "onder", "ja", "eens",
|
246
|
+
"hier", "wie", "werd", "altijd", "doch", "wordt", "wezen", "kunnen", "ons",
|
247
|
+
"zelf", "tegen", "na", "reeds", "wil", "kon", "niets", "uw", "iemand",
|
248
|
+
"geweest", "andere", NULL
|
249
|
+
};
|
250
|
+
|
251
|
+
const char *FULL_SWEDISH_STOP_WORDS[] = {
|
252
|
+
"och", "det", "att", "i", "en", "jag", "hon", "som", "han", "på", "den",
|
253
|
+
"med", "var", "sig", "för", "så", "till", "är", "men", "ett", "om", "hade",
|
254
|
+
"de", "av", "icke", "mig", "du", "henne", "då", "sin", "nu", "har", "inte",
|
255
|
+
"hans", "honom", "skulle", "hennes", "där", "min", "man", "ej", "vid",
|
256
|
+
"kunde", "något", "från", "ut", "när", "efter", "upp", "vi", "dem", "vara",
|
257
|
+
"vad", "över", "än", "dig", "kan", "sina", "här", "ha", "mot", "alla",
|
258
|
+
"under", "någon", "eller", "allt", "mycket", "sedan", "ju", "denna",
|
259
|
+
"själv", "detta", "åt", "utan", "varit", "hur", "ingen", "mitt", "ni",
|
260
|
+
"bli", "blev", "oss", "din", "dessa", "några", "deras", "blir", "mina",
|
261
|
+
"samma", "vilken", "er", "sådan", "vår", "blivit", "dess", "inom", "mellan",
|
262
|
+
"sådant", "varför", "varje", "vilka", "ditt", "vem", "vilket", "sitta",
|
263
|
+
"sådana", "vart", "dina", "vars", "vårt", "våra", "ert", "era", "vilkas",
|
264
|
+
NULL
|
265
|
+
};
|
266
|
+
|
267
|
+
|
268
|
+
const char *FULL_NORWEGIAN_STOP_WORDS[] = {
|
269
|
+
"og", "i", "jeg", "det", "at", "en", "et", "den", "til", "er", "som", "på",
|
270
|
+
"de", "med", "han", "av", "ikke", "ikkje", "der", "så", "var", "meg", "seg",
|
271
|
+
"men", "ett", "har", "om", "vi", "min", "mitt", "ha", "hadde", "hun", "nå",
|
272
|
+
"over", "da", "ved", "fra", "du", "ut", "sin", "dem", "oss", "opp", "man",
|
273
|
+
"kan", "hans", "hvor", "eller", "hva", "skal", "selv", "sjøl", "her",
|
274
|
+
"alle", "vil", "bli", "ble", "blei", "blitt", "kunne", "inn", "når", "være",
|
275
|
+
"kom", "noen", "noe", "ville", "dere", "som", "deres", "kun", "ja", "etter",
|
276
|
+
"ned", "skulle", "denne", "for", "deg", "si", "sine", "sitt", "mot", "å",
|
277
|
+
"meget", "hvorfor", "dette", "disse", "uten", "hvordan", "ingen", "din",
|
278
|
+
"ditt", "blir", "samme", "hvilken", "hvilke", "sånn", "inni", "mellom",
|
279
|
+
"vår", "hver", "hvem", "vors", "hvis", "både", "bare", "enn", "fordi",
|
280
|
+
"før", "mange", "også", "slik", "vært", "være", "båe", "begge", "siden",
|
281
|
+
"dykk", "dykkar", "dei", "deira", "deires", "deim", "di", "då", "eg", "ein",
|
282
|
+
"eit", "eitt", "elles", "honom", "hjå", "ho", "hoe", "henne", "hennar",
|
283
|
+
"hennes", "hoss", "hossen", "ikkje", "ingi", "inkje", "korleis", "korso",
|
284
|
+
"kva", "kvar", "kvarhelst", "kven", "kvi", "kvifor", "me", "medan", "mi",
|
285
|
+
"mine", "mykje", "no", "nokon", "noka", "nokor", "noko", "nokre", "si",
|
286
|
+
"sia", "sidan", "so", "somt", "somme", "um", "upp", "vere", "vore", "verte",
|
287
|
+
"vort", "varte", "vart", NULL
|
288
|
+
};
|
289
|
+
|
290
|
+
const char *FULL_DANISH_STOP_WORDS[] = {
|
291
|
+
"og", "i", "jeg", "det", "at", "en", "den", "til", "er", "som", "på", "de",
|
292
|
+
"med", "han", "af", "for", "ikke", "der", "var", "mig", "sig", "men", "et",
|
293
|
+
"har", "om", "vi", "min", "havde", "ham", "hun", "nu", "over", "da", "fra",
|
294
|
+
"du", "ud", "sin", "dem", "os", "op", "man", "hans", "hvor", "eller",
|
295
|
+
"hvad", "skal", "selv", "her", "alle", "vil", "blev", "kunne", "ind", "når",
|
296
|
+
"være", "dog", "noget", "ville", "jo", "deres", "efter", "ned", "skulle",
|
297
|
+
"denne", "end", "dette", "mit", "også", "under", "have", "dig", "anden",
|
298
|
+
"hende", "mine", "alt", "meget", "sit", "sine", "vor", "mod", "disse",
|
299
|
+
"hvis", "din", "nogle", "hos", "blive", "mange", "ad", "bliver", "hendes",
|
300
|
+
"været", "thi", "jer", "sådan", NULL
|
301
|
+
};
|
302
|
+
|
303
|
+
const char *FULL_RUSSIAN_STOP_WORDS[] = {
|
304
|
+
"É", "×", "×Ï", "ÎÅ", "ÞÔÏ", "ÏÎ", "ÎÁ", "Ñ", "Ó", "ÓÏ", "ËÁË", "Á", "ÔÏ",
|
305
|
+
"×ÓÅ", "ÏÎÁ", "ÔÁË", "ÅÇÏ", "ÎÏ", "ÄÁ", "ÔÙ", "Ë", "Õ", "ÖÅ", "×Ù", "ÚÁ",
|
306
|
+
"ÂÙ", "ÐÏ", "ÔÏÌØËÏ", "ÅÅ", "ÍÎÅ", "ÂÙÌÏ", "×ÏÔ", "ÏÔ", "ÍÅÎÑ", "ÅÝÅ",
|
307
|
+
"ÎÅÔ", "Ï", "ÉÚ", "ÅÍÕ", "ÔÅÐÅÒØ", "ËÏÇÄÁ", "ÄÁÖÅ", "ÎÕ", "×ÄÒÕÇ", "ÌÉ",
|
308
|
+
"ÅÓÌÉ", "ÕÖÅ", "ÉÌÉ", "ÎÉ", "ÂÙÔØ", "ÂÙÌ", "ÎÅÇÏ", "ÄÏ", "×ÁÓ", "ÎÉÂÕÄØ",
|
309
|
+
"ÏÐÑÔØ", "ÕÖ", "×ÁÍ", "ÓËÁÚÁÌ", "×ÅÄØ", "ÔÁÍ", "ÐÏÔÏÍ", "ÓÅÂÑ", "ÎÉÞÅÇÏ",
|
310
|
+
"ÅÊ", "ÍÏÖÅÔ", "ÏÎÉ", "ÔÕÔ", "ÇÄÅ", "ÅÓÔØ", "ÎÁÄÏ", "ÎÅÊ", "ÄÌÑ", "ÍÙ",
|
311
|
+
"ÔÅÂÑ", "ÉÈ", "ÞÅÍ", "ÂÙÌÁ", "ÓÁÍ", "ÞÔÏÂ", "ÂÅÚ", "ÂÕÄÔÏ", "ÞÅÌÏ×ÅË",
|
312
|
+
"ÞÅÇÏ", "ÒÁÚ", "ÔÏÖÅ", "ÓÅÂÅ", "ÐÏÄ", "ÖÉÚÎØ", "ÂÕÄÅÔ", "Ö", "ÔÏÇÄÁ", "ËÔÏ",
|
313
|
+
"ÜÔÏÔ", "ÇÏ×ÏÒÉÌ", "ÔÏÇÏ", "ÐÏÔÏÍÕ", "ÜÔÏÇÏ", "ËÁËÏÊ", "ÓÏ×ÓÅÍ", "ÎÉÍ",
|
314
|
+
"ÚÄÅÓØ", "ÜÔÏÍ", "ÏÄÉÎ", "ÐÏÞÔÉ", "ÍÏÊ", "ÔÅÍ", "ÞÔÏÂÙ", "ÎÅÅ", "ËÁÖÅÔÓÑ",
|
315
|
+
"ÓÅÊÞÁÓ", "ÂÙÌÉ", "ËÕÄÁ", "ÚÁÞÅÍ", "ÓËÁÚÁÔØ", "×ÓÅÈ", "ÎÉËÏÇÄÁ", "ÓÅÇÏÄÎÑ",
|
316
|
+
"ÍÏÖÎÏ", "ÐÒÉ", "ÎÁËÏÎÅÃ", "Ä×Á", "ÏÂ", "ÄÒÕÇÏÊ", "ÈÏÔØ", "ÐÏÓÌÅ", "ÎÁÄ",
|
317
|
+
"ÂÏÌØÛÅ", "ÔÏÔ", "ÞÅÒÅÚ", "ÜÔÉ", "ÎÁÓ", "ÐÒÏ", "×ÓÅÇÏ", "ÎÉÈ", "ËÁËÁÑ",
|
318
|
+
"ÍÎÏÇÏ", "ÒÁÚ×Å", "ÓËÁÚÁÌÁ", "ÔÒÉ", "ÜÔÕ", "ÍÏÑ", "×ÐÒÏÞÅÍ", "ÈÏÒÏÛÏ",
|
319
|
+
"Ó×ÏÀ", "ÜÔÏÊ", "ÐÅÒÅÄ", "ÉÎÏÇÄÁ", "ÌÕÞÛÅ", "ÞÕÔØ", "ÔÏÍ", "ÎÅÌØÚÑ",
|
320
|
+
"ÔÁËÏÊ", "ÉÍ", "ÂÏÌÅÅ", "×ÓÅÇÄÁ", "ËÏÎÅÞÎÏ", "×ÓÀ", "ÍÅÖÄÕ", NULL
|
321
|
+
};
|
322
|
+
|
323
|
+
const char *FULL_FINNISH_STOP_WORDS[] = {
|
324
|
+
NULL
|
325
|
+
};
|