ferret 0.10.0 → 0.10.1
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.
- data/ext/index.c +19 -11
- data/ext/priorityqueue.c +1 -1
- data/ext/q_parser.c +102 -98
- data/ext/r_index.c +1 -1
- data/ext/r_qparser.c +1 -1
- data/ext/search.c +2 -2
- data/lib/ferret/document.rb +5 -5
- data/lib/ferret/index.rb +7 -2
- data/test/unit/analysis/tc_analyzer.rb +5 -5
- data/test/unit/analysis/tc_token_stream.rb +19 -17
- data/test/unit/index/tc_index.rb +23 -5
- data/test/unit/index/tc_index_reader.rb +1 -0
- data/test/unit/query_parser/tc_query_parser.rb +15 -0
- metadata +137 -138
- data/ext/tags +0 -7841
data/ext/r_index.c
CHANGED
@@ -1799,7 +1799,7 @@ frt_get_lazy_doc(LazyDoc *lazy_doc)
|
|
1799
1799
|
rb_ivar_set(self, id_data, rdata);
|
1800
1800
|
|
1801
1801
|
for (i = 0; i < lazy_doc->size; i++) {
|
1802
|
-
RARRAY(rfields)->ptr[i] = rb_intern(lazy_doc->fields[i]->name);
|
1802
|
+
RARRAY(rfields)->ptr[i] = ID2SYM(rb_intern(lazy_doc->fields[i]->name));
|
1803
1803
|
RARRAY(rfields)->len++;
|
1804
1804
|
}
|
1805
1805
|
rb_ivar_set(self, id_fields, rfields);
|
data/ext/r_qparser.c
CHANGED
@@ -160,7 +160,7 @@ frt_qp_init(int argc, VALUE *argv, VALUE self)
|
|
160
160
|
qp->wild_lower = RTEST(rval);
|
161
161
|
}
|
162
162
|
if (Qnil != (rval = rb_hash_aref(roptions, sym_or_default))) {
|
163
|
-
qp->or_default = (
|
163
|
+
qp->or_default = RTEST(rval);
|
164
164
|
}
|
165
165
|
if (Qnil != (rval = rb_hash_aref(roptions, sym_default_slop))) {
|
166
166
|
qp->def_slop = FIX2INT(rval);
|
data/ext/search.c
CHANGED
@@ -1199,7 +1199,7 @@ static TopDocs *cdfsea_search_w(Searcher *self, Weight *w, int fd, int nd,
|
|
1199
1199
|
Filter *f, Sort *s, filter_ft ff, bool load)
|
1200
1200
|
{
|
1201
1201
|
(void)self; (void)w; (void)fd; (void)nd;
|
1202
|
-
(void)f; (void)s; (void)ff
|
1202
|
+
(void)f; (void)s; (void)ff; (void)load;
|
1203
1203
|
RAISE(UNSUPPORTED_ERROR, UNSUPPORTED_ERROR_MSG);
|
1204
1204
|
return NULL;
|
1205
1205
|
}
|
@@ -1208,7 +1208,7 @@ static TopDocs *cdfsea_search(Searcher *self, Query *q, int fd, int nd,
|
|
1208
1208
|
Filter *f, Sort *s, filter_ft ff, bool load)
|
1209
1209
|
{
|
1210
1210
|
(void)self; (void)q; (void)fd; (void)nd;
|
1211
|
-
(void)f; (void)s; (void)ff
|
1211
|
+
(void)f; (void)s; (void)ff; (void)load;
|
1212
1212
|
RAISE(UNSUPPORTED_ERROR, UNSUPPORTED_ERROR_MSG);
|
1213
1213
|
return NULL;
|
1214
1214
|
}
|
data/lib/ferret/document.rb
CHANGED
@@ -24,8 +24,8 @@ module Ferret
|
|
24
24
|
# A Document is a set of fields. Each field has a name and an array of
|
25
25
|
# textual values. If you are coming from a Lucene background you should note
|
26
26
|
# that Fields don't have any properties except for the boost property. You
|
27
|
-
# should use the FieldInfos class to set field properties
|
28
|
-
# index instead.
|
27
|
+
# should use the Ferret::Index::FieldInfos class to set field properties
|
28
|
+
# accross the whole index instead.
|
29
29
|
#
|
30
30
|
# === Boost
|
31
31
|
#
|
@@ -35,9 +35,9 @@ module Ferret
|
|
35
35
|
# You may, for example, want to boost products that have a higher user
|
36
36
|
# rating so that they are more likely to appear in search results.
|
37
37
|
#
|
38
|
-
# Note: that fields which are _not_ stored (see FieldInfos)
|
39
|
-
# available in documents retrieved from the index, e.g.
|
40
|
-
# IndexReader#doc.
|
38
|
+
# Note: that fields which are _not_ stored (see Ferret::Index::FieldInfos)
|
39
|
+
# are _not_ available in documents retrieved from the index, e.g.
|
40
|
+
# Ferret::Search::Searcher#doc or Ferret::Index::IndexReader#doc.
|
41
41
|
#
|
42
42
|
# Note: that modifying a Document retrieved from the index will not modify
|
43
43
|
# the document contained within the index. You need to delete the old
|
data/lib/ferret/index.rb
CHANGED
@@ -199,7 +199,8 @@ module Ferret::Index
|
|
199
199
|
else
|
200
200
|
id = doc[@key].to_s
|
201
201
|
if id
|
202
|
-
|
202
|
+
ensure_writer_open()
|
203
|
+
@writer.delete(@key, id)
|
203
204
|
@writer.commit
|
204
205
|
end
|
205
206
|
end
|
@@ -247,7 +248,7 @@ module Ferret::Index
|
|
247
248
|
ensure_searcher_open()
|
248
249
|
query = process_query(query)
|
249
250
|
|
250
|
-
@searcher.search_each(query) do |doc, score|
|
251
|
+
@searcher.search_each(query, options) do |doc, score|
|
251
252
|
yield doc, score
|
252
253
|
end
|
253
254
|
end
|
@@ -575,3 +576,7 @@ module Ferret::Index
|
|
575
576
|
|
576
577
|
end
|
577
578
|
end
|
579
|
+
|
580
|
+
module Ferret
|
581
|
+
I = Index::Index
|
582
|
+
end
|
@@ -38,7 +38,7 @@ class AnalyzerTest < Test::Unit::TestCase
|
|
38
38
|
assert_equal(Token.new("ADDRESS", 39, 46), t.next())
|
39
39
|
assert(! t.next())
|
40
40
|
end
|
41
|
-
end
|
41
|
+
end if Ferret.locale.downcase.index("utf")
|
42
42
|
|
43
43
|
class AsciiLetterAnalyzerTest < Test::Unit::TestCase
|
44
44
|
include Ferret::Analysis
|
@@ -131,7 +131,7 @@ class LetterAnalyzerTest < Test::Unit::TestCase
|
|
131
131
|
assert_equal(Token.new("öîí", 80, 86), t.next)
|
132
132
|
assert(! t.next())
|
133
133
|
end
|
134
|
-
end
|
134
|
+
end if Ferret.locale.downcase.index("utf")
|
135
135
|
|
136
136
|
class AsciiWhiteSpaceAnalyzerTest < Test::Unit::TestCase
|
137
137
|
include Ferret::Analysis
|
@@ -214,7 +214,7 @@ class WhiteSpaceAnalyzerTest < Test::Unit::TestCase
|
|
214
214
|
assert_equal(Token.new('áägç®êëì¯úøã¬öîí', 55, 86), t.next)
|
215
215
|
assert(! t.next())
|
216
216
|
end
|
217
|
-
end
|
217
|
+
end if Ferret.locale.downcase.index("utf")
|
218
218
|
|
219
219
|
class AsciiStandardAnalyzerTest < Test::Unit::TestCase
|
220
220
|
include Ferret::Analysis
|
@@ -338,7 +338,7 @@ class StandardAnalyzerTest < Test::Unit::TestCase
|
|
338
338
|
assert_equal(Token.new('öîí', 142, 148), t2.next)
|
339
339
|
assert(! t2.next())
|
340
340
|
end
|
341
|
-
end
|
341
|
+
end if Ferret.locale.downcase.index("utf")
|
342
342
|
|
343
343
|
class PerFieldAnalyzerTest < Test::Unit::TestCase
|
344
344
|
include Ferret::Analysis
|
@@ -529,4 +529,4 @@ class CustomAnalyzerTest < Test::Unit::TestCase
|
|
529
529
|
assert_equal(Token.new("dêbater", 36, 44), t.next)
|
530
530
|
assert(! t.next())
|
531
531
|
end
|
532
|
-
end
|
532
|
+
end if Ferret.locale.downcase.index("utf")
|
@@ -108,7 +108,7 @@ class LetterTokenizerTest < Test::Unit::TestCase
|
|
108
108
|
assert_equal(Token.new('öîí', 80, 86), t.next)
|
109
109
|
assert(! t.next())
|
110
110
|
end
|
111
|
-
end
|
111
|
+
end if Ferret.locale.downcase.index("utf")
|
112
112
|
|
113
113
|
class AsciiWhiteSpaceTokenizerTest < Test::Unit::TestCase
|
114
114
|
include Ferret::Analysis
|
@@ -185,7 +185,7 @@ class WhiteSpaceTokenizerTest < Test::Unit::TestCase
|
|
185
185
|
assert_equal(Token.new('áägç®êëì¯úøã¬öîí', 55, 86), t.next)
|
186
186
|
assert(! t.next())
|
187
187
|
end
|
188
|
-
end
|
188
|
+
end if Ferret.locale.downcase.index("utf")
|
189
189
|
|
190
190
|
class AsciiStandardTokenizerTest < Test::Unit::TestCase
|
191
191
|
include Ferret::Analysis
|
@@ -267,7 +267,7 @@ class StandardTokenizerTest < Test::Unit::TestCase
|
|
267
267
|
assert_equal(Token.new('öîí', 142, 148), t.next)
|
268
268
|
assert(! t.next())
|
269
269
|
end
|
270
|
-
end
|
270
|
+
end if Ferret.locale.downcase.index("utf")
|
271
271
|
|
272
272
|
class RegExpTokenizerTest < Test::Unit::TestCase
|
273
273
|
include Ferret::Analysis
|
@@ -397,20 +397,22 @@ class StemFilterTest < Test::Unit::TestCase
|
|
397
397
|
assert_equal(Token.new("DEBate", 23, 31), t.next)
|
398
398
|
assert_equal(Token.new("Debat", 32, 39), t.next)
|
399
399
|
|
400
|
-
|
401
|
-
|
402
|
-
|
403
|
-
|
404
|
-
|
405
|
-
|
406
|
-
|
407
|
-
|
408
|
-
|
409
|
-
|
410
|
-
|
411
|
-
|
412
|
-
|
413
|
-
|
400
|
+
if Ferret.locale.downcase.index("utf")
|
401
|
+
input = "Dêbate dêbates DÊBATED DÊBATing dêbater";
|
402
|
+
t = StemFilter.new(LowerCaseFilter.new(LetterTokenizer.new(input)), :english)
|
403
|
+
assert_equal(Token.new("dêbate", 0, 7), t.next)
|
404
|
+
assert_equal(Token.new("dêbate", 8, 16), t.next)
|
405
|
+
assert_equal(Token.new("dêbate", 17, 25), t.next)
|
406
|
+
assert_equal(Token.new("dêbate", 26, 35), t.next)
|
407
|
+
assert_equal(Token.new("dêbater", 36, 44), t.next)
|
408
|
+
t = StemFilter.new(LetterTokenizer.new(input), :english)
|
409
|
+
assert_equal(Token.new("Dêbate", 0, 7), t.next)
|
410
|
+
assert_equal(Token.new("dêbate", 8, 16), t.next)
|
411
|
+
assert_equal(Token.new("DÊBATED", 17, 25), t.next)
|
412
|
+
assert_equal(Token.new("DÊBATing", 26, 35), t.next)
|
413
|
+
assert_equal(Token.new("dêbater", 36, 44), t.next)
|
414
|
+
assert(! t.next())
|
415
|
+
end
|
414
416
|
end
|
415
417
|
end
|
416
418
|
|
data/test/unit/index/tc_index.rb
CHANGED
@@ -129,7 +129,7 @@ class IndexTest < Test::Unit::TestCase
|
|
129
129
|
end
|
130
130
|
|
131
131
|
def test_ram_index
|
132
|
-
index =
|
132
|
+
index = Ferret::I.new(:default_input_field => :xxx)
|
133
133
|
do_test_index_with_array(index)
|
134
134
|
index.close
|
135
135
|
|
@@ -555,12 +555,12 @@ class IndexTest < Test::Unit::TestCase
|
|
555
555
|
Dir[File.join(fs_path, "*")].each {|path| begin File.delete(path) rescue nil end}
|
556
556
|
|
557
557
|
data = %q(one two three four five six seven eight nine ten eleven twelve)
|
558
|
-
index1 = Index.new(:path => fs_path, :auto_flush => true)
|
558
|
+
index1 = Index.new(:path => fs_path, :auto_flush => true, :key => :id)
|
559
559
|
index2 = Index.new(:path => fs_path, :auto_flush => true)
|
560
560
|
begin
|
561
|
-
data.each do |
|
562
|
-
index1 <<
|
563
|
-
index2 <<
|
561
|
+
data.each do |datum|
|
562
|
+
index1 << {:id => datum[0], :content => datum}
|
563
|
+
index2 << {:id => datum[0], :content => datum}
|
564
564
|
end
|
565
565
|
5.times do |i|
|
566
566
|
index1.delete(i)
|
@@ -593,4 +593,22 @@ class IndexTest < Test::Unit::TestCase
|
|
593
593
|
index.flush
|
594
594
|
index.close
|
595
595
|
end
|
596
|
+
|
597
|
+
def test_stopwords
|
598
|
+
field_infos = FieldInfos.new(:store => :no, :term_vector => :no)
|
599
|
+
field_infos.add_field(:id, :store => :yes, :index => :untokenized)
|
600
|
+
|
601
|
+
i = Ferret::Index::Index.new(:or_default => false, :default_search_field => '*')
|
602
|
+
|
603
|
+
# adding this additional field to the document leads to failure below
|
604
|
+
# comment out this statement and all tests pass:
|
605
|
+
i << {:id => 1, :content => "Move or shake"}
|
606
|
+
|
607
|
+
hits = i.search 'move nothere shake'
|
608
|
+
assert_equal 0, hits.total_hits
|
609
|
+
hits = i.search 'move shake'
|
610
|
+
assert_equal 1, hits.total_hits
|
611
|
+
hits = i.search 'move or shake'
|
612
|
+
assert_equal 1, hits.total_hits # fails when id field is present
|
613
|
+
end
|
596
614
|
end
|
@@ -160,6 +160,21 @@ class QueryParserTest < Test::Unit::TestCase
|
|
160
160
|
end
|
161
161
|
end
|
162
162
|
|
163
|
+
def test_or_default
|
164
|
+
parser = Ferret::QueryParser.new(:default_field => :*,
|
165
|
+
:fields => [:x, :y],
|
166
|
+
:or_default => false,
|
167
|
+
:analyzer => StandardAnalyzer.new)
|
168
|
+
pairs = [
|
169
|
+
['word', 'x:word y:word'],
|
170
|
+
['word1 word2', '+(x:word1 y:word1) +(x:word2 y:word2)']
|
171
|
+
]
|
172
|
+
|
173
|
+
pairs.each do |query_str, expected|
|
174
|
+
assert_equal(expected, parser.parse(query_str).to_s(""))
|
175
|
+
end
|
176
|
+
end
|
177
|
+
|
163
178
|
def test_prefix_query
|
164
179
|
parser = Ferret::QueryParser.new(:default_field => "xxx",
|
165
180
|
:fields => ["xxx"],
|
metadata
CHANGED
@@ -3,8 +3,8 @@ rubygems_version: 0.8.11
|
|
3
3
|
specification_version: 1
|
4
4
|
name: ferret
|
5
5
|
version: !ruby/object:Gem::Version
|
6
|
-
version: 0.10.
|
7
|
-
date: 2006-08-
|
6
|
+
version: 0.10.1
|
7
|
+
date: 2006-08-26 00:00:00 -04:00
|
8
8
|
summary: Ruby indexing library.
|
9
9
|
require_paths:
|
10
10
|
- lib
|
@@ -29,178 +29,177 @@ authors:
|
|
29
29
|
- David Balmain
|
30
30
|
files:
|
31
31
|
- setup.rb
|
32
|
-
- Rakefile
|
33
32
|
- TODO
|
34
|
-
-
|
33
|
+
- Rakefile
|
35
34
|
- MIT-LICENSE
|
36
35
|
- TUTORIAL
|
37
|
-
-
|
38
|
-
- ext/
|
39
|
-
- ext/
|
40
|
-
- ext/
|
41
|
-
- ext/
|
42
|
-
- ext/
|
36
|
+
- README
|
37
|
+
- ext/stem_ISO_8859_1_norwegian.c
|
38
|
+
- ext/array.h
|
39
|
+
- ext/bitvector.h
|
40
|
+
- ext/document.c
|
41
|
+
- ext/stem_UTF_8_spanish.h
|
42
|
+
- ext/stem_ISO_8859_1_danish.c
|
43
|
+
- ext/stem_UTF_8_portuguese.h
|
44
|
+
- ext/similarity.h
|
45
|
+
- ext/r_search.c
|
46
|
+
- ext/hashset.h
|
47
|
+
- ext/extconf.rb
|
48
|
+
- ext/analysis.h
|
49
|
+
- ext/index.h
|
50
|
+
- ext/stem_UTF_8_russian.h
|
51
|
+
- ext/q_match_all.c
|
52
|
+
- ext/libstemmer.h
|
53
|
+
- ext/stem_UTF_8_finnish.h
|
54
|
+
- ext/stem_ISO_8859_1_german.c
|
43
55
|
- ext/hash.c
|
44
|
-
- ext/
|
45
|
-
- ext/
|
46
|
-
- ext/except.c
|
47
|
-
- ext/ram_store.c
|
56
|
+
- ext/stem_ISO_8859_1_english.h
|
57
|
+
- ext/stem_ISO_8859_1_german.h
|
48
58
|
- ext/store.c
|
49
|
-
- ext/
|
50
|
-
- ext/
|
51
|
-
- ext/search.c
|
59
|
+
- ext/stem_UTF_8_swedish.h
|
60
|
+
- ext/q_term.c
|
52
61
|
- ext/similarity.c
|
53
|
-
- ext/
|
54
|
-
- ext/
|
55
|
-
- ext/
|
56
|
-
- ext/
|
62
|
+
- ext/r_analysis.c
|
63
|
+
- ext/stem_UTF_8_portuguese.c
|
64
|
+
- ext/stem_ISO_8859_1_norwegian.h
|
65
|
+
- ext/helper.c
|
66
|
+
- ext/stem_UTF_8_french.h
|
67
|
+
- ext/q_span.c
|
68
|
+
- ext/utilities.c
|
69
|
+
- ext/stem_ISO_8859_1_porter.h
|
70
|
+
- ext/ind.c
|
71
|
+
- ext/global.h
|
72
|
+
- ext/except.h
|
73
|
+
- ext/search.c
|
74
|
+
- ext/stem_ISO_8859_1_danish.h
|
75
|
+
- ext/stem_KOI8_R_russian.c
|
76
|
+
- ext/stem_UTF_8_finnish.c
|
77
|
+
- ext/stem_ISO_8859_1_french.c
|
57
78
|
- ext/compound_io.c
|
58
|
-
- ext/
|
59
|
-
- ext/
|
60
|
-
- ext/
|
61
|
-
- ext/
|
79
|
+
- ext/ferret.h
|
80
|
+
- ext/stem_UTF_8_german.h
|
81
|
+
- ext/stem_UTF_8_dutch.c
|
82
|
+
- ext/hashset.c
|
83
|
+
- ext/defines.h
|
84
|
+
- ext/stem_ISO_8859_1_dutch.h
|
85
|
+
- ext/stem_ISO_8859_1_swedish.h
|
62
86
|
- ext/sort.c
|
63
|
-
- ext/
|
64
|
-
- ext/
|
87
|
+
- ext/document.h
|
88
|
+
- ext/lang.h
|
89
|
+
- ext/stem_UTF_8_porter.c
|
65
90
|
- ext/q_const_score.c
|
66
|
-
- ext/
|
67
|
-
- ext/
|
91
|
+
- ext/stem_UTF_8_dutch.h
|
92
|
+
- ext/q_prefix.c
|
68
93
|
- ext/q_fuzzy.c
|
69
|
-
- ext/q_multi_term.c
|
70
|
-
- ext/q_parser.c
|
71
|
-
- ext/q_span.c
|
72
|
-
- ext/ind.c
|
73
|
-
- ext/term_vectors.c
|
74
|
-
- ext/priorityqueue.h
|
75
|
-
- ext/defines.h
|
76
94
|
- ext/posh.h
|
77
|
-
- ext/
|
78
|
-
- ext/
|
79
|
-
- ext/helper.h
|
80
|
-
- ext/global.h
|
81
|
-
- ext/bitvector.h
|
82
|
-
- ext/document.h
|
95
|
+
- ext/stem_UTF_8_italian.h
|
96
|
+
- ext/stem_ISO_8859_1_swedish.c
|
83
97
|
- ext/hash.h
|
84
|
-
- ext/except.h
|
85
|
-
- ext/threading.h
|
86
|
-
- ext/similarity.h
|
87
|
-
- ext/index.h
|
88
|
-
- ext/win32.h
|
89
|
-
- ext/analysis.h
|
90
98
|
- ext/search.h
|
91
|
-
- ext/mem_pool.h
|
92
|
-
- ext/array.h
|
93
|
-
- ext/ind.h
|
94
|
-
- ext/lang.h
|
95
|
-
- ext/stem_UTF_8_norwegian.c
|
96
99
|
- ext/stem_UTF_8_danish.c
|
97
|
-
- ext/
|
98
|
-
- ext/
|
99
|
-
- ext/
|
100
|
-
- ext/
|
101
|
-
- ext/
|
102
|
-
- ext/
|
103
|
-
- ext/
|
104
|
-
- ext/stem_UTF_8_porter.c
|
105
|
-
- ext/stem_KOI8_R_russian.c
|
106
|
-
- ext/stem_UTF_8_russian.c
|
107
|
-
- ext/stem_UTF_8_spanish.c
|
100
|
+
- ext/stem_ISO_8859_1_portuguese.h
|
101
|
+
- ext/except.c
|
102
|
+
- ext/ind.h
|
103
|
+
- ext/modules.h
|
104
|
+
- ext/win32.h
|
105
|
+
- ext/stem_KOI8_R_russian.h
|
106
|
+
- ext/q_range.c
|
108
107
|
- ext/stem_UTF_8_swedish.c
|
108
|
+
- ext/q_boolean.c
|
109
|
+
- ext/api.h
|
110
|
+
- ext/ram_store.c
|
111
|
+
- ext/stem_UTF_8_porter.h
|
112
|
+
- ext/inc
|
113
|
+
- ext/stem_ISO_8859_1_spanish.h
|
114
|
+
- ext/stem_UTF_8_danish.h
|
115
|
+
- ext/index.c
|
109
116
|
- ext/stem_ISO_8859_1_english.c
|
110
|
-
- ext/
|
117
|
+
- ext/q_phrase.c
|
118
|
+
- ext/stopwords.c
|
119
|
+
- ext/r_qparser.c
|
120
|
+
- ext/store.h
|
121
|
+
- ext/analysis.c
|
111
122
|
- ext/stem_ISO_8859_1_dutch.c
|
112
|
-
- ext/stem_ISO_8859_1_finnish.
|
113
|
-
- ext/
|
114
|
-
- ext/stem_ISO_8859_1_german.c
|
115
|
-
- ext/stem_ISO_8859_1_italian.c
|
116
|
-
- ext/stem_ISO_8859_1_norwegian.c
|
117
|
-
- ext/stem_ISO_8859_1_porter.c
|
123
|
+
- ext/stem_ISO_8859_1_finnish.h
|
124
|
+
- ext/threading.h
|
118
125
|
- ext/stem_ISO_8859_1_portuguese.c
|
119
|
-
- ext/
|
120
|
-
- ext/stem_ISO_8859_1_swedish.c
|
121
|
-
- ext/stem_UTF_8_danish.h
|
122
|
-
- ext/stem_UTF_8_dutch.h
|
123
|
-
- ext/stem_UTF_8_english.h
|
124
|
-
- ext/stem_UTF_8_finnish.h
|
125
|
-
- ext/stem_UTF_8_french.h
|
126
|
-
- ext/stem_UTF_8_german.h
|
127
|
-
- ext/stem_UTF_8_italian.h
|
126
|
+
- ext/stem_UTF_8_russian.c
|
128
127
|
- ext/stem_UTF_8_norwegian.h
|
129
|
-
- ext/stem_UTF_8_porter.h
|
130
|
-
- ext/stem_UTF_8_portuguese.h
|
131
|
-
- ext/stem_UTF_8_russian.h
|
132
|
-
- ext/stem_UTF_8_spanish.h
|
133
|
-
- ext/stem_UTF_8_swedish.h
|
134
|
-
- ext/stem_KOI8_R_russian.h
|
135
|
-
- ext/stem_ISO_8859_1_danish.h
|
136
|
-
- ext/stem_ISO_8859_1_dutch.h
|
137
|
-
- ext/stem_ISO_8859_1_english.h
|
138
|
-
- ext/stem_ISO_8859_1_finnish.h
|
139
|
-
- ext/stem_ISO_8859_1_french.h
|
140
|
-
- ext/stem_ISO_8859_1_german.h
|
141
|
-
- ext/stem_ISO_8859_1_italian.h
|
142
|
-
- ext/stem_ISO_8859_1_norwegian.h
|
143
|
-
- ext/stem_ISO_8859_1_porter.h
|
144
|
-
- ext/stem_ISO_8859_1_portuguese.h
|
145
|
-
- ext/stem_ISO_8859_1_spanish.h
|
146
|
-
- ext/stem_ISO_8859_1_swedish.h
|
147
|
-
- ext/utilities.c
|
148
128
|
- ext/api.c
|
149
|
-
- ext/
|
150
|
-
- ext/
|
151
|
-
- ext/
|
152
|
-
- ext/
|
153
|
-
- ext/
|
154
|
-
- ext/extconf.rb
|
155
|
-
- ext/inc
|
156
|
-
- ext/ferret.h
|
129
|
+
- ext/array.c
|
130
|
+
- ext/stem_ISO_8859_1_italian.c
|
131
|
+
- ext/stem_ISO_8859_1_spanish.c
|
132
|
+
- ext/r_store.c
|
133
|
+
- ext/stem_UTF_8_german.c
|
157
134
|
- ext/ferret.c
|
158
|
-
- ext/
|
159
|
-
- ext/
|
135
|
+
- ext/helper.h
|
136
|
+
- ext/q_multi_term.c
|
137
|
+
- ext/stem_UTF_8_english.c
|
138
|
+
- ext/stem_ISO_8859_1_french.h
|
139
|
+
- ext/q_parser.c
|
140
|
+
- ext/stem_ISO_8859_1_italian.h
|
141
|
+
- ext/stem_ISO_8859_1_porter.c
|
142
|
+
- ext/priorityqueue.c
|
143
|
+
- ext/stem_UTF_8_italian.c
|
144
|
+
- ext/global.c
|
145
|
+
- ext/filter.c
|
146
|
+
- ext/stem_UTF_8_spanish.c
|
147
|
+
- ext/stem_UTF_8_norwegian.c
|
160
148
|
- ext/r_utils.c
|
161
|
-
- ext/
|
149
|
+
- ext/stem_UTF_8_english.h
|
150
|
+
- ext/stem_ISO_8859_1_finnish.c
|
151
|
+
- ext/stem_UTF_8_french.c
|
152
|
+
- ext/mem_pool.h
|
153
|
+
- ext/posh.c
|
154
|
+
- ext/fs_store.c
|
155
|
+
- ext/mem_pool.c
|
156
|
+
- ext/priorityqueue.h
|
157
|
+
- ext/header.h
|
158
|
+
- ext/bitvector.c
|
162
159
|
- ext/r_index.c
|
163
|
-
- ext/
|
164
|
-
- ext/
|
165
|
-
- ext/
|
160
|
+
- ext/libstemmer.c
|
161
|
+
- ext/term_vectors.c
|
162
|
+
- ext/q_filtered_query.c
|
163
|
+
- ext/q_wildcard.c
|
166
164
|
- ext/inc/lang.h
|
167
|
-
-
|
165
|
+
- ext/inc/threading.h
|
168
166
|
- lib/ferret_version.rb
|
167
|
+
- lib/ferret.rb
|
169
168
|
- lib/ferret/number_tools.rb
|
170
169
|
- lib/ferret/index.rb
|
171
170
|
- lib/ferret/document.rb
|
172
|
-
- test/test_all.rb
|
173
171
|
- test/test_helper.rb
|
174
|
-
- test/
|
172
|
+
- test/test_all.rb
|
175
173
|
- test/unit/ts_store.rb
|
176
|
-
- test/unit/
|
174
|
+
- test/unit/ts_analysis.rb
|
175
|
+
- test/unit/ts_query_parser.rb
|
177
176
|
- test/unit/tc_document.rb
|
178
|
-
- test/unit/ts_index.rb
|
179
177
|
- test/unit/ts_search.rb
|
180
|
-
- test/unit/
|
181
|
-
- test/unit/
|
182
|
-
- test/unit/
|
183
|
-
- test/unit/utils/tc_number_tools.rb
|
184
|
-
- test/unit/analysis/tc_analyzer.rb
|
185
|
-
- test/unit/analysis/tc_token_stream.rb
|
186
|
-
- test/unit/store/tm_store_lock.rb
|
178
|
+
- test/unit/ts_utils.rb
|
179
|
+
- test/unit/ts_index.rb
|
180
|
+
- test/unit/store/tm_store.rb
|
187
181
|
- test/unit/store/tc_fs_store.rb
|
182
|
+
- test/unit/store/tm_store_lock.rb
|
188
183
|
- test/unit/store/tc_ram_store.rb
|
189
|
-
- test/unit/store/tm_store.rb
|
190
|
-
- test/unit/index/tc_index_reader.rb
|
191
|
-
- test/unit/index/tc_index_writer.rb
|
192
|
-
- test/unit/index/tc_index.rb
|
193
|
-
- test/unit/index/th_doc.rb
|
194
184
|
- test/unit/search/tc_index_searcher.rb
|
195
|
-
- test/unit/search/tc_multi_searcher.rb
|
196
185
|
- test/unit/search/tc_fuzzy_query.rb
|
197
|
-
- test/unit/search/
|
198
|
-
- test/unit/search/tc_filter.rb
|
199
|
-
- test/unit/search/tc_spans.rb
|
200
|
-
- test/unit/search/tc_sort_field.rb
|
186
|
+
- test/unit/search/tc_multi_searcher.rb
|
201
187
|
- test/unit/search/tc_search_and_sort.rb
|
202
188
|
- test/unit/search/tm_searcher.rb
|
189
|
+
- test/unit/search/tc_spans.rb
|
190
|
+
- test/unit/search/tc_filter.rb
|
191
|
+
- test/unit/search/tc_sort.rb
|
192
|
+
- test/unit/search/tc_sort_field.rb
|
193
|
+
- test/unit/index/tc_index.rb
|
194
|
+
- test/unit/index/th_doc.rb
|
195
|
+
- test/unit/index/tc_index_writer.rb
|
196
|
+
- test/unit/index/tc_index_reader.rb
|
197
|
+
- test/unit/analysis/tc_token_stream.rb
|
198
|
+
- test/unit/analysis/tc_analyzer.rb
|
203
199
|
- test/unit/query_parser/tc_query_parser.rb
|
200
|
+
- test/unit/utils/tc_priority_queue.rb
|
201
|
+
- test/unit/utils/tc_bit_vector.rb
|
202
|
+
- test/unit/utils/tc_number_tools.rb
|
204
203
|
test_files: []
|
205
204
|
|
206
205
|
rdoc_options:
|
@@ -216,12 +215,12 @@ extra_rdoc_files:
|
|
216
215
|
- TODO
|
217
216
|
- TUTORIAL
|
218
217
|
- MIT-LICENSE
|
218
|
+
- ext/r_search.c
|
219
219
|
- ext/r_analysis.c
|
220
|
-
- ext/
|
220
|
+
- ext/r_qparser.c
|
221
221
|
- ext/r_store.c
|
222
|
+
- ext/r_utils.c
|
222
223
|
- ext/r_index.c
|
223
|
-
- ext/r_search.c
|
224
|
-
- ext/r_qparser.c
|
225
224
|
- ext/ferret.c
|
226
225
|
executables: []
|
227
226
|
|