ferret 0.9.6 → 0.10.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (295) hide show
  1. data/MIT-LICENSE +1 -1
  2. data/README +12 -24
  3. data/Rakefile +38 -54
  4. data/TODO +14 -17
  5. data/ext/analysis.c +982 -823
  6. data/ext/analysis.h +133 -76
  7. data/ext/array.c +96 -58
  8. data/ext/array.h +40 -13
  9. data/ext/bitvector.c +476 -118
  10. data/ext/bitvector.h +264 -22
  11. data/ext/compound_io.c +217 -229
  12. data/ext/defines.h +49 -0
  13. data/ext/document.c +107 -317
  14. data/ext/document.h +31 -65
  15. data/ext/except.c +81 -36
  16. data/ext/except.h +117 -55
  17. data/ext/extconf.rb +2 -9
  18. data/ext/ferret.c +211 -104
  19. data/ext/ferret.h +22 -11
  20. data/ext/filter.c +97 -82
  21. data/ext/fs_store.c +348 -367
  22. data/ext/global.c +226 -188
  23. data/ext/global.h +44 -26
  24. data/ext/hash.c +474 -391
  25. data/ext/hash.h +441 -68
  26. data/ext/hashset.c +124 -96
  27. data/ext/hashset.h +169 -20
  28. data/ext/helper.c +56 -5
  29. data/ext/helper.h +7 -0
  30. data/ext/inc/lang.h +29 -49
  31. data/ext/inc/threading.h +31 -0
  32. data/ext/ind.c +288 -278
  33. data/ext/ind.h +68 -0
  34. data/ext/index.c +5688 -0
  35. data/ext/index.h +663 -616
  36. data/ext/lang.h +29 -49
  37. data/ext/libstemmer.c +3 -3
  38. data/ext/mem_pool.c +84 -0
  39. data/ext/mem_pool.h +35 -0
  40. data/ext/posh.c +1006 -0
  41. data/ext/posh.h +1007 -0
  42. data/ext/priorityqueue.c +117 -194
  43. data/ext/priorityqueue.h +135 -39
  44. data/ext/q_boolean.c +1305 -1108
  45. data/ext/q_const_score.c +106 -93
  46. data/ext/q_filtered_query.c +138 -135
  47. data/ext/q_fuzzy.c +206 -242
  48. data/ext/q_match_all.c +94 -80
  49. data/ext/q_multi_term.c +663 -0
  50. data/ext/q_parser.c +667 -593
  51. data/ext/q_phrase.c +992 -555
  52. data/ext/q_prefix.c +72 -61
  53. data/ext/q_range.c +235 -210
  54. data/ext/q_span.c +1480 -1166
  55. data/ext/q_term.c +273 -246
  56. data/ext/q_wildcard.c +127 -114
  57. data/ext/r_analysis.c +1720 -711
  58. data/ext/r_index.c +3049 -0
  59. data/ext/r_qparser.c +433 -146
  60. data/ext/r_search.c +2934 -1993
  61. data/ext/r_store.c +372 -143
  62. data/ext/r_utils.c +941 -0
  63. data/ext/ram_store.c +330 -326
  64. data/ext/search.c +1291 -668
  65. data/ext/search.h +403 -702
  66. data/ext/similarity.c +91 -113
  67. data/ext/similarity.h +45 -30
  68. data/ext/sort.c +721 -484
  69. data/ext/stopwords.c +361 -273
  70. data/ext/store.c +556 -58
  71. data/ext/store.h +706 -126
  72. data/ext/tags +3578 -2780
  73. data/ext/term_vectors.c +352 -0
  74. data/ext/threading.h +31 -0
  75. data/ext/win32.h +54 -0
  76. data/lib/ferret.rb +5 -17
  77. data/lib/ferret/document.rb +130 -2
  78. data/lib/ferret/index.rb +577 -26
  79. data/lib/ferret/number_tools.rb +157 -0
  80. data/lib/ferret_version.rb +3 -0
  81. data/test/test_helper.rb +5 -13
  82. data/test/unit/analysis/tc_analyzer.rb +513 -1
  83. data/test/unit/analysis/{ctc_tokenstream.rb → tc_token_stream.rb} +23 -0
  84. data/test/unit/index/tc_index.rb +183 -240
  85. data/test/unit/index/tc_index_reader.rb +312 -479
  86. data/test/unit/index/tc_index_writer.rb +397 -13
  87. data/test/unit/index/th_doc.rb +269 -206
  88. data/test/unit/query_parser/tc_query_parser.rb +40 -33
  89. data/test/unit/search/tc_filter.rb +59 -71
  90. data/test/unit/search/tc_fuzzy_query.rb +24 -16
  91. data/test/unit/search/tc_index_searcher.rb +23 -201
  92. data/test/unit/search/tc_multi_searcher.rb +78 -226
  93. data/test/unit/search/tc_search_and_sort.rb +93 -81
  94. data/test/unit/search/tc_sort.rb +23 -23
  95. data/test/unit/search/tc_sort_field.rb +7 -7
  96. data/test/unit/search/tc_spans.rb +51 -47
  97. data/test/unit/search/tm_searcher.rb +339 -0
  98. data/test/unit/store/tc_fs_store.rb +1 -1
  99. data/test/unit/store/tm_store_lock.rb +3 -3
  100. data/test/unit/tc_document.rb +81 -0
  101. data/test/unit/ts_analysis.rb +1 -1
  102. data/test/unit/ts_utils.rb +1 -1
  103. data/test/unit/utils/tc_bit_vector.rb +288 -0
  104. data/test/unit/utils/tc_number_tools.rb +117 -0
  105. data/test/unit/utils/tc_priority_queue.rb +106 -0
  106. metadata +140 -301
  107. data/CHANGELOG +0 -9
  108. data/ext/dummy.exe +0 -0
  109. data/ext/field.c +0 -408
  110. data/ext/frtio.h +0 -13
  111. data/ext/inc/except.h +0 -90
  112. data/ext/index_io.c +0 -382
  113. data/ext/index_rw.c +0 -2658
  114. data/ext/lang.c +0 -41
  115. data/ext/nix_io.c +0 -134
  116. data/ext/q_multi_phrase.c +0 -380
  117. data/ext/r_doc.c +0 -582
  118. data/ext/r_index_io.c +0 -1021
  119. data/ext/r_term.c +0 -219
  120. data/ext/term.c +0 -820
  121. data/ext/termdocs.c +0 -611
  122. data/ext/vector.c +0 -637
  123. data/ext/w32_io.c +0 -150
  124. data/lib/ferret/analysis.rb +0 -11
  125. data/lib/ferret/analysis/analyzers.rb +0 -112
  126. data/lib/ferret/analysis/standard_tokenizer.rb +0 -71
  127. data/lib/ferret/analysis/token.rb +0 -100
  128. data/lib/ferret/analysis/token_filters.rb +0 -86
  129. data/lib/ferret/analysis/token_stream.rb +0 -26
  130. data/lib/ferret/analysis/tokenizers.rb +0 -112
  131. data/lib/ferret/analysis/word_list_loader.rb +0 -27
  132. data/lib/ferret/document/document.rb +0 -152
  133. data/lib/ferret/document/field.rb +0 -312
  134. data/lib/ferret/index/compound_file_io.rb +0 -338
  135. data/lib/ferret/index/document_writer.rb +0 -289
  136. data/lib/ferret/index/field_infos.rb +0 -279
  137. data/lib/ferret/index/fields_io.rb +0 -181
  138. data/lib/ferret/index/index.rb +0 -675
  139. data/lib/ferret/index/index_file_names.rb +0 -33
  140. data/lib/ferret/index/index_reader.rb +0 -503
  141. data/lib/ferret/index/index_writer.rb +0 -534
  142. data/lib/ferret/index/multi_reader.rb +0 -377
  143. data/lib/ferret/index/multiple_term_doc_pos_enum.rb +0 -98
  144. data/lib/ferret/index/segment_infos.rb +0 -130
  145. data/lib/ferret/index/segment_merge_info.rb +0 -49
  146. data/lib/ferret/index/segment_merge_queue.rb +0 -16
  147. data/lib/ferret/index/segment_merger.rb +0 -358
  148. data/lib/ferret/index/segment_reader.rb +0 -412
  149. data/lib/ferret/index/segment_term_enum.rb +0 -169
  150. data/lib/ferret/index/segment_term_vector.rb +0 -58
  151. data/lib/ferret/index/term.rb +0 -53
  152. data/lib/ferret/index/term_buffer.rb +0 -83
  153. data/lib/ferret/index/term_doc_enum.rb +0 -291
  154. data/lib/ferret/index/term_enum.rb +0 -52
  155. data/lib/ferret/index/term_info.rb +0 -37
  156. data/lib/ferret/index/term_infos_io.rb +0 -321
  157. data/lib/ferret/index/term_vector_offset_info.rb +0 -20
  158. data/lib/ferret/index/term_vectors_io.rb +0 -553
  159. data/lib/ferret/query_parser.rb +0 -312
  160. data/lib/ferret/query_parser/query_parser.tab.rb +0 -928
  161. data/lib/ferret/search.rb +0 -50
  162. data/lib/ferret/search/boolean_clause.rb +0 -100
  163. data/lib/ferret/search/boolean_query.rb +0 -299
  164. data/lib/ferret/search/boolean_scorer.rb +0 -294
  165. data/lib/ferret/search/caching_wrapper_filter.rb +0 -40
  166. data/lib/ferret/search/conjunction_scorer.rb +0 -99
  167. data/lib/ferret/search/disjunction_sum_scorer.rb +0 -205
  168. data/lib/ferret/search/exact_phrase_scorer.rb +0 -32
  169. data/lib/ferret/search/explanation.rb +0 -41
  170. data/lib/ferret/search/field_cache.rb +0 -215
  171. data/lib/ferret/search/field_doc.rb +0 -31
  172. data/lib/ferret/search/field_sorted_hit_queue.rb +0 -184
  173. data/lib/ferret/search/filter.rb +0 -11
  174. data/lib/ferret/search/filtered_query.rb +0 -130
  175. data/lib/ferret/search/filtered_term_enum.rb +0 -79
  176. data/lib/ferret/search/fuzzy_query.rb +0 -154
  177. data/lib/ferret/search/fuzzy_term_enum.rb +0 -247
  178. data/lib/ferret/search/hit_collector.rb +0 -34
  179. data/lib/ferret/search/hit_queue.rb +0 -11
  180. data/lib/ferret/search/index_searcher.rb +0 -200
  181. data/lib/ferret/search/match_all_query.rb +0 -104
  182. data/lib/ferret/search/multi_phrase_query.rb +0 -216
  183. data/lib/ferret/search/multi_searcher.rb +0 -261
  184. data/lib/ferret/search/multi_term_query.rb +0 -65
  185. data/lib/ferret/search/non_matching_scorer.rb +0 -22
  186. data/lib/ferret/search/phrase_positions.rb +0 -55
  187. data/lib/ferret/search/phrase_query.rb +0 -214
  188. data/lib/ferret/search/phrase_scorer.rb +0 -152
  189. data/lib/ferret/search/prefix_query.rb +0 -54
  190. data/lib/ferret/search/query.rb +0 -140
  191. data/lib/ferret/search/query_filter.rb +0 -51
  192. data/lib/ferret/search/range_filter.rb +0 -103
  193. data/lib/ferret/search/range_query.rb +0 -139
  194. data/lib/ferret/search/req_excl_scorer.rb +0 -125
  195. data/lib/ferret/search/req_opt_sum_scorer.rb +0 -70
  196. data/lib/ferret/search/score_doc.rb +0 -38
  197. data/lib/ferret/search/score_doc_comparator.rb +0 -114
  198. data/lib/ferret/search/scorer.rb +0 -91
  199. data/lib/ferret/search/similarity.rb +0 -278
  200. data/lib/ferret/search/sloppy_phrase_scorer.rb +0 -47
  201. data/lib/ferret/search/sort.rb +0 -112
  202. data/lib/ferret/search/sort_comparator.rb +0 -60
  203. data/lib/ferret/search/sort_field.rb +0 -91
  204. data/lib/ferret/search/spans.rb +0 -12
  205. data/lib/ferret/search/spans/near_spans_enum.rb +0 -304
  206. data/lib/ferret/search/spans/span_first_query.rb +0 -79
  207. data/lib/ferret/search/spans/span_near_query.rb +0 -108
  208. data/lib/ferret/search/spans/span_not_query.rb +0 -130
  209. data/lib/ferret/search/spans/span_or_query.rb +0 -176
  210. data/lib/ferret/search/spans/span_query.rb +0 -25
  211. data/lib/ferret/search/spans/span_scorer.rb +0 -74
  212. data/lib/ferret/search/spans/span_term_query.rb +0 -105
  213. data/lib/ferret/search/spans/span_weight.rb +0 -84
  214. data/lib/ferret/search/spans/spans_enum.rb +0 -44
  215. data/lib/ferret/search/term_query.rb +0 -128
  216. data/lib/ferret/search/term_scorer.rb +0 -183
  217. data/lib/ferret/search/top_docs.rb +0 -36
  218. data/lib/ferret/search/top_field_docs.rb +0 -17
  219. data/lib/ferret/search/weight.rb +0 -54
  220. data/lib/ferret/search/wildcard_query.rb +0 -26
  221. data/lib/ferret/search/wildcard_term_enum.rb +0 -61
  222. data/lib/ferret/stemmers.rb +0 -1
  223. data/lib/ferret/stemmers/porter_stemmer.rb +0 -218
  224. data/lib/ferret/store.rb +0 -5
  225. data/lib/ferret/store/buffered_index_io.rb +0 -190
  226. data/lib/ferret/store/directory.rb +0 -141
  227. data/lib/ferret/store/fs_store.rb +0 -381
  228. data/lib/ferret/store/index_io.rb +0 -245
  229. data/lib/ferret/store/ram_store.rb +0 -286
  230. data/lib/ferret/utils.rb +0 -8
  231. data/lib/ferret/utils/bit_vector.rb +0 -123
  232. data/lib/ferret/utils/date_tools.rb +0 -138
  233. data/lib/ferret/utils/number_tools.rb +0 -91
  234. data/lib/ferret/utils/parameter.rb +0 -41
  235. data/lib/ferret/utils/priority_queue.rb +0 -120
  236. data/lib/ferret/utils/string_helper.rb +0 -47
  237. data/lib/ferret/utils/thread_local.rb +0 -28
  238. data/lib/ferret/utils/weak_key_hash.rb +0 -60
  239. data/lib/rferret.rb +0 -37
  240. data/rake_utils/code_statistics.rb +0 -106
  241. data/test/benchmark/tb_ram_store.rb +0 -76
  242. data/test/benchmark/tb_rw_vint.rb +0 -26
  243. data/test/functional/thread_safety_index_test.rb +0 -81
  244. data/test/functional/thread_safety_test.rb +0 -137
  245. data/test/longrunning/tc_numbertools.rb +0 -60
  246. data/test/longrunning/tm_store.rb +0 -19
  247. data/test/unit/analysis/ctc_analyzer.rb +0 -532
  248. data/test/unit/analysis/data/wordfile +0 -6
  249. data/test/unit/analysis/rtc_letter_tokenizer.rb +0 -20
  250. data/test/unit/analysis/rtc_lower_case_filter.rb +0 -20
  251. data/test/unit/analysis/rtc_lower_case_tokenizer.rb +0 -27
  252. data/test/unit/analysis/rtc_per_field_analyzer_wrapper.rb +0 -39
  253. data/test/unit/analysis/rtc_porter_stem_filter.rb +0 -16
  254. data/test/unit/analysis/rtc_standard_analyzer.rb +0 -20
  255. data/test/unit/analysis/rtc_standard_tokenizer.rb +0 -20
  256. data/test/unit/analysis/rtc_stop_analyzer.rb +0 -20
  257. data/test/unit/analysis/rtc_stop_filter.rb +0 -14
  258. data/test/unit/analysis/rtc_white_space_analyzer.rb +0 -21
  259. data/test/unit/analysis/rtc_white_space_tokenizer.rb +0 -20
  260. data/test/unit/analysis/rtc_word_list_loader.rb +0 -32
  261. data/test/unit/analysis/tc_token.rb +0 -25
  262. data/test/unit/document/rtc_field.rb +0 -28
  263. data/test/unit/document/tc_document.rb +0 -47
  264. data/test/unit/document/tc_field.rb +0 -98
  265. data/test/unit/index/rtc_compound_file_io.rb +0 -107
  266. data/test/unit/index/rtc_field_infos.rb +0 -127
  267. data/test/unit/index/rtc_fields_io.rb +0 -167
  268. data/test/unit/index/rtc_multiple_term_doc_pos_enum.rb +0 -83
  269. data/test/unit/index/rtc_segment_infos.rb +0 -74
  270. data/test/unit/index/rtc_segment_term_docs.rb +0 -17
  271. data/test/unit/index/rtc_segment_term_enum.rb +0 -60
  272. data/test/unit/index/rtc_segment_term_vector.rb +0 -71
  273. data/test/unit/index/rtc_term_buffer.rb +0 -57
  274. data/test/unit/index/rtc_term_info.rb +0 -19
  275. data/test/unit/index/rtc_term_infos_io.rb +0 -192
  276. data/test/unit/index/rtc_term_vectors_io.rb +0 -108
  277. data/test/unit/index/tc_term.rb +0 -27
  278. data/test/unit/index/tc_term_voi.rb +0 -18
  279. data/test/unit/search/rtc_similarity.rb +0 -37
  280. data/test/unit/search/rtc_sort_field.rb +0 -14
  281. data/test/unit/search/tc_multi_searcher2.rb +0 -126
  282. data/test/unit/store/rtc_fs_store.rb +0 -62
  283. data/test/unit/store/rtc_ram_store.rb +0 -15
  284. data/test/unit/store/rtm_store.rb +0 -150
  285. data/test/unit/store/rtm_store_lock.rb +0 -2
  286. data/test/unit/ts_document.rb +0 -2
  287. data/test/unit/utils/rtc_bit_vector.rb +0 -73
  288. data/test/unit/utils/rtc_date_tools.rb +0 -50
  289. data/test/unit/utils/rtc_number_tools.rb +0 -59
  290. data/test/unit/utils/rtc_parameter.rb +0 -40
  291. data/test/unit/utils/rtc_priority_queue.rb +0 -62
  292. data/test/unit/utils/rtc_string_helper.rb +0 -21
  293. data/test/unit/utils/rtc_thread.rb +0 -61
  294. data/test/unit/utils/rtc_weak_key_hash.rb +0 -25
  295. data/test/utils/number_to_spoken.rb +0 -132
@@ -0,0 +1,106 @@
1
+ require File.dirname(__FILE__) + "/../../test_helper"
2
+
3
+
4
+ class PriorityQueueTest < Test::Unit::TestCase
5
+ include Ferret::Utils
6
+
7
+ PQ_STRESS_SIZE = 1000
8
+
9
+ def test_pq()
10
+ pq = PriorityQueue.new(4)
11
+ assert_equal(0, pq.size)
12
+ assert_equal(4, pq.capacity)
13
+ pq.insert("bword")
14
+ assert_equal(1, pq.size)
15
+ assert_equal("bword", pq.top)
16
+
17
+ pq.insert("cword")
18
+ assert_equal(2, pq.size)
19
+ assert_equal("bword", pq.top)
20
+
21
+ pq << "dword"
22
+ assert_equal(3, pq.size)
23
+ assert_equal("bword", pq.top)
24
+
25
+ pq << "eword"
26
+ assert_equal(4, pq.size)
27
+ assert_equal("bword", pq.top)
28
+
29
+ pq << "aword"
30
+ assert_equal(4, pq.size)
31
+ assert_equal("bword", pq.top, "aword < all other elements so ignore")
32
+
33
+ pq << "fword"
34
+ assert_equal(4, pq.size)
35
+ assert_equal("cword", pq.top, "bword got pushed off the bottom of the queue")
36
+
37
+ assert_equal("cword", pq.pop())
38
+ assert_equal(3, pq.size)
39
+ assert_equal("dword", pq.pop())
40
+ assert_equal(2, pq.size)
41
+ assert_equal("eword", pq.pop())
42
+ assert_equal(1, pq.size)
43
+ assert_equal("fword", pq.pop())
44
+ assert_equal(0, pq.size)
45
+ assert_nil(pq.top)
46
+ assert_nil(pq.pop)
47
+ end
48
+
49
+ def test_pq_clear()
50
+ pq = PriorityQueue.new(3)
51
+ pq << "word1"
52
+ pq << "word2"
53
+ pq << "word3"
54
+ assert_equal(3, pq.size)
55
+ pq.clear()
56
+ assert_equal(0, pq.size)
57
+ assert_nil(pq.top)
58
+ assert_nil(pq.pop)
59
+ end
60
+
61
+ #define PQ_STRESS_SIZE 1000
62
+ def test_stress_pq
63
+ pq = PriorityQueue.new(PQ_STRESS_SIZE)
64
+ PQ_STRESS_SIZE.times do
65
+ pq.insert("<#{rand(PQ_STRESS_SIZE)}>")
66
+ end
67
+
68
+ prev = pq.pop()
69
+ (PQ_STRESS_SIZE - 1).times do
70
+ curr = pq.pop()
71
+ assert(prev <= curr, "#{prev} should be less than #{curr}")
72
+ prev = curr
73
+ end
74
+ pq.clear()
75
+ end
76
+
77
+ def test_pq_block
78
+ pq = PriorityQueue.new(21) {|a, b| a > b}
79
+ 100.times do
80
+ pq.insert("<#{rand(50)}>")
81
+ end
82
+
83
+ prev = pq.pop()
84
+ 20.times do
85
+ curr = pq.pop()
86
+ assert(prev >= curr, "#{prev} should be greater than #{curr}")
87
+ prev = curr
88
+ end
89
+ assert_equal 0, pq.size
90
+ end
91
+
92
+ def test_pq_proc
93
+ pq = PriorityQueue.new({:less_than => lambda {|a, b| a.size > b.size}, :capacity => 21})
94
+ 100.times do
95
+ pq.insert("x" * rand(50))
96
+ end
97
+
98
+ prev = pq.pop()
99
+ 20.times do
100
+ curr = pq.pop()
101
+ assert(prev.size >= curr.size, "#{prev} should be greater than #{curr}")
102
+ prev = curr
103
+ end
104
+ assert_equal 0, pq.size
105
+ end
106
+ end
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.9.6
7
- date: 2006-08-23 00:00:00 +09:00
6
+ version: 0.10.0
7
+ date: 2006-08-22 00:00:00 +09:00
8
8
  summary: Ruby indexing library.
9
9
  require_paths:
10
10
  - lib
@@ -34,341 +34,173 @@ files:
34
34
  - README
35
35
  - MIT-LICENSE
36
36
  - TUTORIAL
37
- - CHANGELOG
38
- - ext/ferret.c
39
- - ext/lang.c
40
- - ext/r_analysis.c
41
- - ext/r_doc.c
42
- - ext/r_index_io.c
43
- - ext/r_qparser.c
44
- - ext/r_search.c
45
- - ext/r_store.c
46
- - ext/r_term.c
47
- - ext/extconf.rb
48
- - ext/inc
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
43
+ - ext/hash.c
44
+ - ext/fs_store.c
45
+ - ext/posh.c
46
+ - ext/except.c
47
+ - ext/ram_store.c
48
+ - ext/store.c
49
49
  - ext/analysis.c
50
- - ext/stopwords.c
51
50
  - ext/document.c
51
+ - ext/search.c
52
+ - ext/similarity.c
53
+ - ext/stopwords.c
54
+ - ext/array.c
55
+ - ext/index.c
56
+ - ext/mem_pool.c
52
57
  - ext/compound_io.c
53
- - ext/index_rw.c
54
- - ext/vector.c
55
- - ext/field.c
56
- - ext/term.c
57
- - ext/q_parser.c
58
- - ext/q_const_score.c
58
+ - ext/q_prefix.c
59
+ - ext/q_range.c
60
+ - ext/q_phrase.c
61
+ - ext/q_term.c
62
+ - ext/sort.c
59
63
  - ext/q_boolean.c
64
+ - ext/filter.c
65
+ - ext/q_const_score.c
60
66
  - ext/q_match_all.c
61
- - ext/q_phrase.c
62
- - ext/q_filtered_query.c
63
- - ext/search.c
64
- - ext/dummy.exe
65
- - ext/q_fuzzy.c
66
67
  - ext/q_wildcard.c
67
- - ext/ind.c
68
- - ext/q_range.c
69
- - ext/q_multi_phrase.c
70
- - ext/q_prefix.c
68
+ - ext/q_fuzzy.c
69
+ - ext/q_multi_term.c
70
+ - ext/q_parser.c
71
71
  - ext/q_span.c
72
- - ext/filter.c
73
- - ext/similarity.c
74
- - ext/q_term.c
75
- - ext/sort.c
76
- - ext/index_io.c
77
- - ext/fs_store.c
78
- - ext/ram_store.c
79
- - ext/store.c
80
- - ext/hashset.c
81
- - ext/array.c
82
- - ext/bitvector.c
83
- - ext/helper.c
84
- - ext/global.c
85
- - ext/hash.c
86
- - ext/except.c
87
- - ext/priorityqueue.c
88
- - ext/libstemmer.h
89
- - ext/libstemmer.c
90
- - ext/modules.h
91
- - ext/utilities.c
92
- - ext/api.h
93
- - ext/api.c
94
- - ext/header.h
95
- - ext/stem_ISO_8859_1_italian.c
96
- - ext/stem_UTF_8_portuguese.c
97
- - ext/stem_UTF_8_portuguese.h
98
- - ext/ferret.h
99
- - ext/stem_UTF_8_french.c
100
- - ext/stem_UTF_8_spanish.c
72
+ - ext/ind.c
73
+ - ext/term_vectors.c
74
+ - ext/priorityqueue.h
75
+ - ext/defines.h
76
+ - 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
83
+ - 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
+ - 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
+ - ext/stem_UTF_8_danish.c
101
97
  - ext/stem_UTF_8_dutch.c
102
- - ext/stem_ISO_8859_1_italian.h
98
+ - ext/stem_UTF_8_english.c
99
+ - ext/stem_UTF_8_finnish.c
100
+ - ext/stem_UTF_8_french.c
103
101
  - ext/stem_UTF_8_german.c
104
- - ext/stem_UTF_8_french.h
105
- - ext/stem_UTF_8_spanish.h
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
108
+ - ext/stem_UTF_8_swedish.c
106
109
  - ext/stem_ISO_8859_1_english.c
110
+ - ext/stem_ISO_8859_1_danish.c
111
+ - 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
107
116
  - ext/stem_ISO_8859_1_norwegian.c
108
- - ext/stem_UTF_8_porter.c
117
+ - ext/stem_ISO_8859_1_porter.c
118
+ - 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
109
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
110
126
  - ext/stem_UTF_8_german.h
111
- - ext/stem_ISO_8859_1_english.h
112
- - ext/stem_ISO_8859_1_norwegian.h
127
+ - ext/stem_UTF_8_italian.h
128
+ - ext/stem_UTF_8_norwegian.h
113
129
  - ext/stem_UTF_8_porter.h
114
- - ext/stem_ISO_8859_1_portuguese.c
115
- - ext/stem_UTF_8_russian.c
116
- - ext/stem_ISO_8859_1_spanish.c
117
- - ext/stem_ISO_8859_1_french.c
118
- - ext/stem_ISO_8859_1_portuguese.h
119
- - ext/stem_ISO_8859_1_dutch.c
130
+ - ext/stem_UTF_8_portuguese.h
120
131
  - ext/stem_UTF_8_russian.h
121
- - ext/stem_KOI8_R_russian.c
122
- - ext/stem_ISO_8859_1_german.c
123
- - ext/stem_ISO_8859_1_spanish.h
124
- - ext/stem_ISO_8859_1_french.h
125
- - ext/stem_ISO_8859_1_porter.c
126
- - ext/tags
127
- - ext/stem_ISO_8859_1_dutch.h
128
- - ext/stem_UTF_8_finnish.c
132
+ - ext/stem_UTF_8_spanish.h
133
+ - ext/stem_UTF_8_swedish.h
129
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
130
140
  - ext/stem_ISO_8859_1_german.h
141
+ - ext/stem_ISO_8859_1_italian.h
142
+ - ext/stem_ISO_8859_1_norwegian.h
131
143
  - ext/stem_ISO_8859_1_porter.h
132
- - ext/stem_UTF_8_finnish.h
133
- - ext/stem_UTF_8_danish.c
134
- - ext/stem_UTF_8_swedish.c
135
- - ext/stem_UTF_8_danish.h
136
- - ext/stem_UTF_8_swedish.h
137
- - ext/stem_ISO_8859_1_finnish.c
138
- - ext/stem_UTF_8_italian.c
139
- - ext/stem_ISO_8859_1_finnish.h
140
- - ext/stem_UTF_8_italian.h
141
- - ext/stem_ISO_8859_1_swedish.c
142
- - ext/stem_ISO_8859_1_danish.c
143
- - ext/stem_UTF_8_english.c
144
- - ext/stem_UTF_8_norwegian.c
144
+ - ext/stem_ISO_8859_1_portuguese.h
145
+ - ext/stem_ISO_8859_1_spanish.h
145
146
  - ext/stem_ISO_8859_1_swedish.h
146
- - ext/stem_ISO_8859_1_danish.h
147
- - ext/stem_UTF_8_english.h
148
- - ext/stem_UTF_8_norwegian.h
149
- - ext/document.h
150
- - ext/store.h
151
- - ext/array.h
152
- - ext/priorityqueue.h
153
- - ext/hashset.h
154
- - ext/helper.h
155
- - ext/global.h
156
- - ext/bitvector.h
157
- - ext/analysis.h
158
- - ext/hash.h
159
- - ext/search.h
160
- - ext/similarity.h
161
- - ext/index.h
162
- - ext/except.h
163
- - ext/lang.h
164
- - ext/frtio.h
165
- - ext/w32_io.c
166
- - ext/nix_io.c
147
+ - ext/utilities.c
148
+ - 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
157
+ - ext/ferret.c
158
+ - ext/tags
159
+ - ext/r_analysis.c
160
+ - ext/r_utils.c
161
+ - ext/r_store.c
162
+ - ext/r_index.c
163
+ - ext/r_search.c
164
+ - ext/r_qparser.c
165
+ - ext/inc/threading.h
167
166
  - ext/inc/lang.h
168
- - ext/inc/except.h
169
167
  - lib/ferret.rb
170
- - lib/rferret.rb
171
- - lib/ferret/analysis.rb
172
- - lib/ferret/document.rb
168
+ - lib/ferret_version.rb
169
+ - lib/ferret/number_tools.rb
173
170
  - lib/ferret/index.rb
174
- - lib/ferret/search.rb
175
- - lib/ferret/query_parser.rb
176
- - lib/ferret/stemmers.rb
177
- - lib/ferret/store.rb
178
- - lib/ferret/utils.rb
179
- - lib/ferret/analysis/standard_tokenizer.rb
180
- - lib/ferret/analysis/word_list_loader.rb
181
- - lib/ferret/analysis/tokenizers.rb
182
- - lib/ferret/analysis/token.rb
183
- - lib/ferret/analysis/analyzers.rb
184
- - lib/ferret/analysis/token_filters.rb
185
- - lib/ferret/analysis/token_stream.rb
186
- - lib/ferret/document/document.rb
187
- - lib/ferret/document/field.rb
188
- - lib/ferret/index/fields_io.rb
189
- - lib/ferret/index/index.rb
190
- - lib/ferret/index/segment_merge_queue.rb
191
- - lib/ferret/index/segment_term_enum.rb
192
- - lib/ferret/index/term_info.rb
193
- - lib/ferret/index/field_infos.rb
194
- - lib/ferret/index/segment_reader.rb
195
- - lib/ferret/index/index_file_names.rb
196
- - lib/ferret/index/index_reader.rb
197
- - lib/ferret/index/term_infos_io.rb
198
- - lib/ferret/index/term_enum.rb
199
- - lib/ferret/index/term.rb
200
- - lib/ferret/index/segment_merge_info.rb
201
- - lib/ferret/index/segment_merger.rb
202
- - lib/ferret/index/segment_infos.rb
203
- - lib/ferret/index/term_doc_enum.rb
204
- - lib/ferret/index/term_buffer.rb
205
- - lib/ferret/index/multi_reader.rb
206
- - lib/ferret/index/term_vectors_io.rb
207
- - lib/ferret/index/index_writer.rb
208
- - lib/ferret/index/term_vector_offset_info.rb
209
- - lib/ferret/index/segment_term_vector.rb
210
- - lib/ferret/index/document_writer.rb
211
- - lib/ferret/index/compound_file_io.rb
212
- - lib/ferret/index/multiple_term_doc_pos_enum.rb
213
- - lib/ferret/search/query.rb
214
- - lib/ferret/search/non_matching_scorer.rb
215
- - lib/ferret/search/top_field_docs.rb
216
- - lib/ferret/search/weight.rb
217
- - lib/ferret/search/field_doc.rb
218
- - lib/ferret/search/hit_queue.rb
219
- - lib/ferret/search/sort.rb
220
- - lib/ferret/search/disjunction_sum_scorer.rb
221
- - lib/ferret/search/boolean_scorer.rb
222
- - lib/ferret/search/boolean_query.rb
223
- - lib/ferret/search/field_sorted_hit_queue.rb
224
- - lib/ferret/search/conjunction_scorer.rb
225
- - lib/ferret/search/top_docs.rb
226
- - lib/ferret/search/req_opt_sum_scorer.rb
227
- - lib/ferret/search/boolean_clause.rb
228
- - lib/ferret/search/score_doc_comparator.rb
229
- - lib/ferret/search/req_excl_scorer.rb
230
- - lib/ferret/search/explanation.rb
231
- - lib/ferret/search/index_searcher.rb
232
- - lib/ferret/search/term_scorer.rb
233
- - lib/ferret/search/filter.rb
234
- - lib/ferret/search/similarity.rb
235
- - lib/ferret/search/fuzzy_term_enum.rb
236
- - lib/ferret/search/sort_field.rb
237
- - lib/ferret/search/hit_collector.rb
238
- - lib/ferret/search/term_query.rb
239
- - lib/ferret/search/scorer.rb
240
- - lib/ferret/search/score_doc.rb
241
- - lib/ferret/search/prefix_query.rb
242
- - lib/ferret/search/fuzzy_query.rb
243
- - lib/ferret/search/spans.rb
244
- - lib/ferret/search/caching_wrapper_filter.rb
245
- - lib/ferret/search/filtered_term_enum.rb
246
- - lib/ferret/search/multi_term_query.rb
247
- - lib/ferret/search/query_filter.rb
248
- - lib/ferret/search/wildcard_query.rb
249
- - lib/ferret/search/wildcard_term_enum.rb
250
- - lib/ferret/search/phrase_query.rb
251
- - lib/ferret/search/exact_phrase_scorer.rb
252
- - lib/ferret/search/sloppy_phrase_scorer.rb
253
- - lib/ferret/search/phrase_positions.rb
254
- - lib/ferret/search/phrase_scorer.rb
255
- - lib/ferret/search/range_query.rb
256
- - lib/ferret/search/multi_phrase_query.rb
257
- - lib/ferret/search/filtered_query.rb
258
- - lib/ferret/search/sort_comparator.rb
259
- - lib/ferret/search/range_filter.rb
260
- - lib/ferret/search/field_cache.rb
261
- - lib/ferret/search/match_all_query.rb
262
- - lib/ferret/search/multi_searcher.rb
263
- - lib/ferret/search/spans/near_spans_enum.rb
264
- - lib/ferret/search/spans/span_first_query.rb
265
- - lib/ferret/search/spans/spans_enum.rb
266
- - lib/ferret/search/spans/span_not_query.rb
267
- - lib/ferret/search/spans/span_near_query.rb
268
- - lib/ferret/search/spans/span_or_query.rb
269
- - lib/ferret/search/spans/span_term_query.rb
270
- - lib/ferret/search/spans/span_query.rb
271
- - lib/ferret/search/spans/span_scorer.rb
272
- - lib/ferret/search/spans/span_weight.rb
273
- - lib/ferret/query_parser/query_parser.tab.rb
274
- - lib/ferret/stemmers/porter_stemmer.rb
275
- - lib/ferret/store/index_io.rb
276
- - lib/ferret/store/directory.rb
277
- - lib/ferret/store/buffered_index_io.rb
278
- - lib/ferret/store/fs_store.rb
279
- - lib/ferret/store/ram_store.rb
280
- - lib/ferret/utils/priority_queue.rb
281
- - lib/ferret/utils/bit_vector.rb
282
- - lib/ferret/utils/parameter.rb
283
- - lib/ferret/utils/weak_key_hash.rb
284
- - lib/ferret/utils/string_helper.rb
285
- - lib/ferret/utils/number_tools.rb
286
- - lib/ferret/utils/date_tools.rb
287
- - lib/ferret/utils/thread_local.rb
288
- - test/test_helper.rb
171
+ - lib/ferret/document.rb
289
172
  - test/test_all.rb
290
- - test/unit/ts_document.rb
291
- - test/unit/ts_index.rb
292
- - test/unit/ts_store.rb
173
+ - test/test_helper.rb
293
174
  - test/unit/ts_analysis.rb
175
+ - test/unit/ts_store.rb
294
176
  - test/unit/ts_utils.rb
177
+ - test/unit/tc_document.rb
178
+ - test/unit/ts_index.rb
295
179
  - test/unit/ts_search.rb
296
180
  - test/unit/ts_query_parser.rb
297
- - test/unit/utils/rtc_thread.rb
298
- - test/unit/utils/rtc_priority_queue.rb
299
- - test/unit/utils/rtc_bit_vector.rb
300
- - test/unit/utils/rtc_parameter.rb
301
- - test/unit/utils/rtc_weak_key_hash.rb
302
- - test/unit/utils/rtc_string_helper.rb
303
- - test/unit/utils/rtc_date_tools.rb
304
- - test/unit/utils/rtc_number_tools.rb
305
- - test/unit/analysis/rtc_standard_tokenizer.rb
306
- - test/unit/analysis/rtc_letter_tokenizer.rb
307
- - test/unit/analysis/rtc_stop_filter.rb
308
- - test/unit/analysis/rtc_stop_analyzer.rb
309
- - test/unit/analysis/ctc_analyzer.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
310
184
  - test/unit/analysis/tc_analyzer.rb
311
- - test/unit/analysis/rtc_standard_analyzer.rb
312
- - test/unit/analysis/rtc_lower_case_filter.rb
313
- - test/unit/analysis/rtc_porter_stem_filter.rb
314
- - test/unit/analysis/rtc_lower_case_tokenizer.rb
315
- - test/unit/analysis/rtc_white_space_tokenizer.rb
316
- - test/unit/analysis/tc_token.rb
317
- - test/unit/analysis/ctc_tokenstream.rb
318
- - test/unit/analysis/rtc_white_space_analyzer.rb
319
- - test/unit/analysis/rtc_word_list_loader.rb
320
- - test/unit/analysis/rtc_per_field_analyzer_wrapper.rb
321
- - test/unit/index/rtc_term_buffer.rb
322
- - test/unit/index/rtc_fields_io.rb
323
- - test/unit/index/rtc_term_vectors_io.rb
324
- - test/unit/index/rtc_segment_infos.rb
325
- - test/unit/index/tc_index.rb
326
- - test/unit/index/rtc_compound_file_io.rb
327
- - test/unit/index/rtc_field_infos.rb
328
- - test/unit/index/tc_index_writer.rb
329
- - test/unit/index/th_doc.rb
330
- - test/unit/index/rtc_segment_term_enum.rb
331
- - test/unit/index/rtc_term_info.rb
332
- - test/unit/index/tc_term.rb
333
- - test/unit/index/tc_term_voi.rb
334
- - test/unit/index/tc_index_reader.rb
335
- - test/unit/index/rtc_term_infos_io.rb
336
- - test/unit/index/rtc_segment_term_docs.rb
337
- - test/unit/index/rtc_segment_term_vector.rb
338
- - test/unit/index/rtc_multiple_term_doc_pos_enum.rb
339
- - test/unit/store/rtm_store_lock.rb
185
+ - test/unit/analysis/tc_token_stream.rb
340
186
  - test/unit/store/tm_store_lock.rb
341
187
  - test/unit/store/tc_fs_store.rb
342
188
  - test/unit/store/tc_ram_store.rb
343
- - test/unit/store/rtm_store.rb
344
189
  - test/unit/store/tm_store.rb
345
- - test/unit/store/rtc_ram_store.rb
346
- - test/unit/store/rtc_fs_store.rb
347
- - test/unit/document/tc_field.rb
348
- - test/unit/document/rtc_field.rb
349
- - test/unit/document/tc_document.rb
350
- - test/unit/query_parser/tc_query_parser.rb
351
- - test/unit/search/tc_fuzzy_query.rb
352
- - test/unit/search/tc_multi_searcher2.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
353
194
  - test/unit/search/tc_index_searcher.rb
354
- - test/unit/search/tc_spans.rb
355
- - test/unit/search/tc_filter.rb
195
+ - test/unit/search/tc_multi_searcher.rb
196
+ - test/unit/search/tc_fuzzy_query.rb
356
197
  - test/unit/search/tc_sort.rb
198
+ - test/unit/search/tc_filter.rb
199
+ - test/unit/search/tc_spans.rb
357
200
  - test/unit/search/tc_sort_field.rb
358
- - test/unit/search/tc_multi_searcher.rb
359
- - test/unit/search/rtc_sort_field.rb
360
- - test/unit/search/rtc_similarity.rb
361
201
  - test/unit/search/tc_search_and_sort.rb
362
- - test/longrunning/tc_numbertools.rb
363
- - test/longrunning/tm_store.rb
364
- - test/benchmark/tb_rw_vint.rb
365
- - test/benchmark/tb_ram_store.rb
366
- - test/functional/thread_safety_index_test.rb
367
- - test/functional/thread_safety_test.rb
368
- - test/utils/number_to_spoken.rb
369
- - test/unit/analysis/data/wordfile
370
- - rake_utils/code_statistics.rb
371
- - ext/termdocs.c
202
+ - test/unit/search/tm_searcher.rb
203
+ - test/unit/query_parser/tc_query_parser.rb
372
204
  test_files: []
373
205
 
374
206
  rdoc_options:
@@ -384,6 +216,13 @@ extra_rdoc_files:
384
216
  - TODO
385
217
  - TUTORIAL
386
218
  - MIT-LICENSE
219
+ - ext/r_analysis.c
220
+ - ext/r_utils.c
221
+ - ext/r_store.c
222
+ - ext/r_index.c
223
+ - ext/r_search.c
224
+ - ext/r_qparser.c
225
+ - ext/ferret.c
387
226
  executables: []
388
227
 
389
228
  extensions: