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/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 = (FIX2INT(rval) == BC_MUST) ? false : true;
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, (void)load;
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, (void)load;
1211
+ (void)f; (void)s; (void)ff; (void)load;
1212
1212
  RAISE(UNSUPPORTED_ERROR, UNSUPPORTED_ERROR_MSG);
1213
1213
  return NULL;
1214
1214
  }
@@ -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 accross the whole
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) are _not_
39
- # available in documents retrieved from the index, e.g. Searcher#doc or
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
- delete(id)
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
- input = "Dêbate dêbates DÊBATED DÊBATing dêbater";
401
- t = StemFilter.new(LowerCaseFilter.new(LetterTokenizer.new(input)), :english)
402
- assert_equal(Token.new("dêbate", 0, 7), t.next)
403
- assert_equal(Token.new("dêbate", 8, 16), t.next)
404
- assert_equal(Token.new("dêbate", 17, 25), t.next)
405
- assert_equal(Token.new("dêbate", 26, 35), t.next)
406
- assert_equal(Token.new("dêbater", 36, 44), t.next)
407
- t = StemFilter.new(LetterTokenizer.new(input), :english)
408
- assert_equal(Token.new("Dêbate", 0, 7), t.next)
409
- assert_equal(Token.new("dêbate", 8, 16), t.next)
410
- assert_equal(Token.new("DÊBATED", 17, 25), t.next)
411
- assert_equal(Token.new("DÊBATing", 26, 35), t.next)
412
- assert_equal(Token.new("dêbater", 36, 44), t.next)
413
- assert(! t.next())
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
 
@@ -129,7 +129,7 @@ class IndexTest < Test::Unit::TestCase
129
129
  end
130
130
 
131
131
  def test_ram_index
132
- index = Index.new(:default_input_field => :xxx)
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 |doc|
562
- index1 << doc
563
- index2 << doc
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
@@ -177,6 +177,7 @@ module IndexReaderCommon
177
177
 
178
178
  def do_test_get_doc()
179
179
  doc = @ir.get_document(3)
180
+ assert_equal([:year, :body, :title, :author], doc.fields)
180
181
  assert_equal(4, doc.fields.size)
181
182
  assert_equal(0, doc.size)
182
183
  assert_equal([], doc.keys)
@@ -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.0
7
- date: 2006-08-22 00:00:00 +09:00
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
- - README
33
+ - Rakefile
35
34
  - MIT-LICENSE
36
35
  - TUTORIAL
37
- - ext/q_filtered_query.c
38
- - ext/priorityqueue.c
39
- - ext/hashset.c
40
- - ext/helper.c
41
- - ext/global.c
42
- - ext/bitvector.c
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/fs_store.c
45
- - ext/posh.c
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/analysis.c
50
- - ext/document.c
51
- - ext/search.c
59
+ - ext/stem_UTF_8_swedish.h
60
+ - ext/q_term.c
52
61
  - ext/similarity.c
53
- - ext/stopwords.c
54
- - ext/array.c
55
- - ext/index.c
56
- - ext/mem_pool.c
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/q_prefix.c
59
- - ext/q_range.c
60
- - ext/q_phrase.c
61
- - ext/q_term.c
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/q_boolean.c
64
- - ext/filter.c
87
+ - ext/document.h
88
+ - ext/lang.h
89
+ - ext/stem_UTF_8_porter.c
65
90
  - ext/q_const_score.c
66
- - ext/q_match_all.c
67
- - ext/q_wildcard.c
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/store.h
78
- - ext/hashset.h
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/stem_UTF_8_dutch.c
98
- - ext/stem_UTF_8_english.c
99
- - ext/stem_UTF_8_finnish.c
100
- - ext/stem_UTF_8_french.c
101
- - ext/stem_UTF_8_german.c
102
- - ext/stem_UTF_8_italian.c
103
- - ext/stem_UTF_8_portuguese.c
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/stem_ISO_8859_1_danish.c
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.c
113
- - ext/stem_ISO_8859_1_french.c
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/stem_ISO_8859_1_spanish.c
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/api.h
150
- - ext/header.h
151
- - ext/libstemmer.c
152
- - ext/modules.h
153
- - ext/libstemmer.h
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/tags
159
- - ext/r_analysis.c
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/r_store.c
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/r_search.c
164
- - ext/r_qparser.c
165
- - ext/inc/threading.h
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
- - lib/ferret.rb
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/unit/ts_analysis.rb
172
+ - test/test_all.rb
175
173
  - test/unit/ts_store.rb
176
- - test/unit/ts_utils.rb
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/ts_query_parser.rb
181
- - test/unit/utils/tc_bit_vector.rb
182
- - test/unit/utils/tc_priority_queue.rb
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/tc_sort.rb
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/r_utils.c
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