ferret 0.10.0 → 0.10.1
Sign up to get free protection for your applications and to get access to all the features.
- 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
|
|