sdsykes-ferret 0.11.6.19
Sign up to get free protection for your applications and to get access to all the features.
- data/CHANGELOG +24 -0
- data/MIT-LICENSE +20 -0
- data/README +102 -0
- data/Rakefile +338 -0
- data/TODO +17 -0
- data/TUTORIAL +231 -0
- data/bin/ferret-browser +79 -0
- data/ext/analysis.c +1555 -0
- data/ext/analysis.h +219 -0
- data/ext/api.c +69 -0
- data/ext/api.h +27 -0
- data/ext/array.c +123 -0
- data/ext/array.h +53 -0
- data/ext/bitvector.c +540 -0
- data/ext/bitvector.h +272 -0
- data/ext/compound_io.c +383 -0
- data/ext/config.h +42 -0
- data/ext/document.c +156 -0
- data/ext/document.h +53 -0
- data/ext/except.c +120 -0
- data/ext/except.h +168 -0
- data/ext/extconf.rb +14 -0
- data/ext/ferret.c +402 -0
- data/ext/ferret.h +91 -0
- data/ext/filter.c +156 -0
- data/ext/fs_store.c +483 -0
- data/ext/global.c +418 -0
- data/ext/global.h +117 -0
- data/ext/hash.c +567 -0
- data/ext/hash.h +473 -0
- data/ext/hashset.c +170 -0
- data/ext/hashset.h +187 -0
- data/ext/header.h +58 -0
- data/ext/helper.c +62 -0
- data/ext/helper.h +13 -0
- data/ext/inc/lang.h +48 -0
- data/ext/inc/threading.h +31 -0
- data/ext/index.c +6425 -0
- data/ext/index.h +961 -0
- data/ext/lang.h +66 -0
- data/ext/libstemmer.c +92 -0
- data/ext/libstemmer.h +79 -0
- data/ext/mempool.c +87 -0
- data/ext/mempool.h +35 -0
- data/ext/modules.h +162 -0
- data/ext/multimapper.c +310 -0
- data/ext/multimapper.h +51 -0
- data/ext/posh.c +1006 -0
- data/ext/posh.h +1007 -0
- data/ext/priorityqueue.c +151 -0
- data/ext/priorityqueue.h +143 -0
- data/ext/q_boolean.c +1608 -0
- data/ext/q_const_score.c +161 -0
- data/ext/q_filtered_query.c +209 -0
- data/ext/q_fuzzy.c +268 -0
- data/ext/q_match_all.c +148 -0
- data/ext/q_multi_term.c +677 -0
- data/ext/q_parser.c +2825 -0
- data/ext/q_phrase.c +1126 -0
- data/ext/q_prefix.c +100 -0
- data/ext/q_range.c +350 -0
- data/ext/q_span.c +2402 -0
- data/ext/q_term.c +337 -0
- data/ext/q_wildcard.c +171 -0
- data/ext/r_analysis.c +2575 -0
- data/ext/r_index.c +3472 -0
- data/ext/r_qparser.c +585 -0
- data/ext/r_search.c +4105 -0
- data/ext/r_store.c +513 -0
- data/ext/r_utils.c +963 -0
- data/ext/ram_store.c +471 -0
- data/ext/search.c +1741 -0
- data/ext/search.h +885 -0
- data/ext/similarity.c +150 -0
- data/ext/similarity.h +82 -0
- data/ext/sort.c +983 -0
- data/ext/stem_ISO_8859_1_danish.c +338 -0
- data/ext/stem_ISO_8859_1_danish.h +16 -0
- data/ext/stem_ISO_8859_1_dutch.c +635 -0
- data/ext/stem_ISO_8859_1_dutch.h +16 -0
- data/ext/stem_ISO_8859_1_english.c +1156 -0
- data/ext/stem_ISO_8859_1_english.h +16 -0
- data/ext/stem_ISO_8859_1_finnish.c +792 -0
- data/ext/stem_ISO_8859_1_finnish.h +16 -0
- data/ext/stem_ISO_8859_1_french.c +1276 -0
- data/ext/stem_ISO_8859_1_french.h +16 -0
- data/ext/stem_ISO_8859_1_german.c +512 -0
- data/ext/stem_ISO_8859_1_german.h +16 -0
- data/ext/stem_ISO_8859_1_italian.c +1091 -0
- data/ext/stem_ISO_8859_1_italian.h +16 -0
- data/ext/stem_ISO_8859_1_norwegian.c +296 -0
- data/ext/stem_ISO_8859_1_norwegian.h +16 -0
- data/ext/stem_ISO_8859_1_porter.c +776 -0
- data/ext/stem_ISO_8859_1_porter.h +16 -0
- data/ext/stem_ISO_8859_1_portuguese.c +1035 -0
- data/ext/stem_ISO_8859_1_portuguese.h +16 -0
- data/ext/stem_ISO_8859_1_spanish.c +1119 -0
- data/ext/stem_ISO_8859_1_spanish.h +16 -0
- data/ext/stem_ISO_8859_1_swedish.c +307 -0
- data/ext/stem_ISO_8859_1_swedish.h +16 -0
- data/ext/stem_KOI8_R_russian.c +701 -0
- data/ext/stem_KOI8_R_russian.h +16 -0
- data/ext/stem_UTF_8_danish.c +344 -0
- data/ext/stem_UTF_8_danish.h +16 -0
- data/ext/stem_UTF_8_dutch.c +653 -0
- data/ext/stem_UTF_8_dutch.h +16 -0
- data/ext/stem_UTF_8_english.c +1176 -0
- data/ext/stem_UTF_8_english.h +16 -0
- data/ext/stem_UTF_8_finnish.c +808 -0
- data/ext/stem_UTF_8_finnish.h +16 -0
- data/ext/stem_UTF_8_french.c +1296 -0
- data/ext/stem_UTF_8_french.h +16 -0
- data/ext/stem_UTF_8_german.c +526 -0
- data/ext/stem_UTF_8_german.h +16 -0
- data/ext/stem_UTF_8_italian.c +1113 -0
- data/ext/stem_UTF_8_italian.h +16 -0
- data/ext/stem_UTF_8_norwegian.c +302 -0
- data/ext/stem_UTF_8_norwegian.h +16 -0
- data/ext/stem_UTF_8_porter.c +794 -0
- data/ext/stem_UTF_8_porter.h +16 -0
- data/ext/stem_UTF_8_portuguese.c +1055 -0
- data/ext/stem_UTF_8_portuguese.h +16 -0
- data/ext/stem_UTF_8_russian.c +709 -0
- data/ext/stem_UTF_8_russian.h +16 -0
- data/ext/stem_UTF_8_spanish.c +1137 -0
- data/ext/stem_UTF_8_spanish.h +16 -0
- data/ext/stem_UTF_8_swedish.c +313 -0
- data/ext/stem_UTF_8_swedish.h +16 -0
- data/ext/stopwords.c +401 -0
- data/ext/store.c +692 -0
- data/ext/store.h +777 -0
- data/ext/term_vectors.c +352 -0
- data/ext/threading.h +31 -0
- data/ext/utilities.c +446 -0
- data/ext/win32.h +54 -0
- data/lib/ferret.rb +29 -0
- data/lib/ferret/browser.rb +246 -0
- data/lib/ferret/browser/s/global.js +192 -0
- data/lib/ferret/browser/s/style.css +148 -0
- data/lib/ferret/browser/views/document/list.rhtml +49 -0
- data/lib/ferret/browser/views/document/show.rhtml +27 -0
- data/lib/ferret/browser/views/error/index.rhtml +7 -0
- data/lib/ferret/browser/views/help/index.rhtml +8 -0
- data/lib/ferret/browser/views/home/index.rhtml +29 -0
- data/lib/ferret/browser/views/layout.rhtml +22 -0
- data/lib/ferret/browser/views/term-vector/index.rhtml +4 -0
- data/lib/ferret/browser/views/term/index.rhtml +199 -0
- data/lib/ferret/browser/views/term/termdocs.rhtml +1 -0
- data/lib/ferret/browser/webrick.rb +14 -0
- data/lib/ferret/document.rb +130 -0
- data/lib/ferret/field_infos.rb +44 -0
- data/lib/ferret/index.rb +786 -0
- data/lib/ferret/number_tools.rb +157 -0
- data/lib/ferret_version.rb +3 -0
- data/setup.rb +1555 -0
- data/test/test_all.rb +5 -0
- data/test/test_helper.rb +24 -0
- data/test/threading/number_to_spoken.rb +132 -0
- data/test/threading/thread_safety_index_test.rb +79 -0
- data/test/threading/thread_safety_read_write_test.rb +76 -0
- data/test/threading/thread_safety_test.rb +133 -0
- data/test/unit/analysis/tc_analyzer.rb +548 -0
- data/test/unit/analysis/tc_token_stream.rb +646 -0
- data/test/unit/index/tc_index.rb +762 -0
- data/test/unit/index/tc_index_reader.rb +699 -0
- data/test/unit/index/tc_index_writer.rb +437 -0
- data/test/unit/index/th_doc.rb +315 -0
- data/test/unit/largefile/tc_largefile.rb +46 -0
- data/test/unit/query_parser/tc_query_parser.rb +238 -0
- data/test/unit/search/tc_filter.rb +135 -0
- data/test/unit/search/tc_fuzzy_query.rb +147 -0
- data/test/unit/search/tc_index_searcher.rb +61 -0
- data/test/unit/search/tc_multi_searcher.rb +128 -0
- data/test/unit/search/tc_multiple_search_requests.rb +58 -0
- data/test/unit/search/tc_search_and_sort.rb +179 -0
- data/test/unit/search/tc_sort.rb +49 -0
- data/test/unit/search/tc_sort_field.rb +27 -0
- data/test/unit/search/tc_spans.rb +190 -0
- data/test/unit/search/tm_searcher.rb +384 -0
- data/test/unit/store/tc_fs_store.rb +77 -0
- data/test/unit/store/tc_ram_store.rb +35 -0
- data/test/unit/store/tm_store.rb +34 -0
- data/test/unit/store/tm_store_lock.rb +68 -0
- data/test/unit/tc_document.rb +81 -0
- data/test/unit/ts_analysis.rb +2 -0
- data/test/unit/ts_index.rb +2 -0
- data/test/unit/ts_largefile.rb +4 -0
- data/test/unit/ts_query_parser.rb +2 -0
- data/test/unit/ts_search.rb +2 -0
- data/test/unit/ts_store.rb +2 -0
- data/test/unit/ts_utils.rb +2 -0
- data/test/unit/utils/tc_bit_vector.rb +295 -0
- data/test/unit/utils/tc_number_tools.rb +117 -0
- data/test/unit/utils/tc_priority_queue.rb +106 -0
- metadata +285 -0
@@ -0,0 +1,117 @@
|
|
1
|
+
require File.dirname(__FILE__) + "/../../test_helper"
|
2
|
+
require 'ferret/number_tools'
|
3
|
+
|
4
|
+
|
5
|
+
class NumberToolsTest < Test::Unit::TestCase
|
6
|
+
include Ferret::Utils
|
7
|
+
|
8
|
+
def test_to_i_lex_near_zero()
|
9
|
+
(-10..10).each do |num|
|
10
|
+
assert(num.to_s_lex > (num-1).to_s_lex,
|
11
|
+
"Strings should sort correctly but " +
|
12
|
+
"#{num.to_s_lex} <= #{(num-1).to_s_lex}")
|
13
|
+
assert_equal(num, num.to_s_lex.to_i_lex)
|
14
|
+
end
|
15
|
+
end
|
16
|
+
|
17
|
+
def test_to_i_pad_near_zero()
|
18
|
+
(1..10).each do |num|
|
19
|
+
assert(num.to_s_pad(3) > (num-1).to_s_pad(3),
|
20
|
+
"Strings should sort correctly but " +
|
21
|
+
"#{num.to_s_pad(3)} <= #{(num-1).to_s_pad(3)}")
|
22
|
+
assert_equal(num, num.to_s_pad(3).to_i)
|
23
|
+
end
|
24
|
+
end
|
25
|
+
|
26
|
+
def test_to_i_lex_larger_numbers
|
27
|
+
100.times do
|
28
|
+
num1 = rand(10000000000000000000000000000000000)
|
29
|
+
num2 = rand(10000000000000000000000000000000000)
|
30
|
+
num1 *= -1 if rand(2) == 0
|
31
|
+
num2 *= -1 if rand(2) == 0
|
32
|
+
|
33
|
+
assert_equal(num1, num1.to_s_lex.to_i_lex)
|
34
|
+
assert_equal(num2, num2.to_s_lex.to_i_lex)
|
35
|
+
assert_equal(num1 < num2, num1.to_s_lex < num2.to_s_lex,
|
36
|
+
"Strings should sort correctly but " +
|
37
|
+
"#{num1} < #{num2} == #{num1 < num2} but " +
|
38
|
+
"#{num1.to_s_lex} < #{num2.to_s_lex} == " +
|
39
|
+
"#{num1.to_s_lex < num2.to_s_lex}")
|
40
|
+
end
|
41
|
+
end
|
42
|
+
|
43
|
+
def test_to_i_pad
|
44
|
+
100.times do
|
45
|
+
num1 = rand(10000000000000000000000000000000000)
|
46
|
+
num2 = rand(10000000000000000000000000000000000)
|
47
|
+
assert_equal(num1, num1.to_s_pad(35).to_i)
|
48
|
+
assert_equal(num2, num2.to_s_pad(35).to_i)
|
49
|
+
assert_equal(num1 < num2, num1.to_s_pad(35) < num2.to_s_pad(35),
|
50
|
+
"Strings should sort correctly but " +
|
51
|
+
"#{num1} < #{num2} == #{num1 < num2} but " +
|
52
|
+
"#{num1.to_s_pad(35)} < #{num2.to_s_pad(35)} == " +
|
53
|
+
"#{num1.to_s_pad(35) < num2.to_s_pad(35)}")
|
54
|
+
end
|
55
|
+
end
|
56
|
+
|
57
|
+
def test_time_to_s_lex
|
58
|
+
t_num = Time.now.to_i - 365*24*60*60 # prevent range error
|
59
|
+
|
60
|
+
10.times do
|
61
|
+
t1 = Time.now - rand(t_num)
|
62
|
+
t2 = Time.now - rand(t_num)
|
63
|
+
assert_equal(t1.to_s, t1.to_s_lex(:second).to_time_lex.to_s)
|
64
|
+
assert_equal(t2.to_s, t2.to_s_lex(:second).to_time_lex.to_s)
|
65
|
+
[:year, :month, :day, :hour, :minute, :second, :millisecond].each do |prec|
|
66
|
+
t1_x = t1.to_s_lex(prec).to_time_lex
|
67
|
+
t2_x = t2.to_s_lex(prec).to_time_lex
|
68
|
+
assert_equal(t1_x < t2_x, t1.to_s_lex(prec) < t2.to_s_lex(prec),
|
69
|
+
"Strings should sort correctly but " +
|
70
|
+
"#{t1_x} < #{t2_x} == #{t1_x < t2_x} but " +
|
71
|
+
"#{t1.to_s_lex(prec)} < #{t2.to_s_lex(prec)} == " +
|
72
|
+
"#{t1.to_s_lex(prec) < t2.to_s_lex(prec)}")
|
73
|
+
end
|
74
|
+
end
|
75
|
+
end
|
76
|
+
|
77
|
+
def test_date_to_s_lex
|
78
|
+
10.times do
|
79
|
+
d1 = Date.civil(rand(2200), rand(12) + 1, rand(28) + 1)
|
80
|
+
d2 = Date.civil(rand(2200), rand(12) + 1, rand(28) + 1)
|
81
|
+
assert_equal(d1.to_s, d1.to_s_lex(:day).to_date_lex.to_s)
|
82
|
+
assert_equal(d2.to_s, d2.to_s_lex(:day).to_date_lex.to_s)
|
83
|
+
[:year, :month, :day].each do |prec|
|
84
|
+
d1_x = d1.to_s_lex(prec).to_date_lex
|
85
|
+
d2_x = d2.to_s_lex(prec).to_date_lex
|
86
|
+
assert_equal(d1_x < d2_x, d1.to_s_lex(prec) < d2.to_s_lex(prec),
|
87
|
+
"Strings should sort correctly but " +
|
88
|
+
"#{d1_x} < #{d2_x} == #{d1_x < d2_x} but " +
|
89
|
+
"#{d1.to_s_lex(prec)} < #{d2.to_s_lex(prec)} == " +
|
90
|
+
"#{d1.to_s_lex(prec) < d2.to_s_lex(prec)}")
|
91
|
+
end
|
92
|
+
|
93
|
+
end
|
94
|
+
end
|
95
|
+
|
96
|
+
def test_date_time_to_s_lex
|
97
|
+
10.times do
|
98
|
+
d1 = "#{rand(600) + 1600}-#{rand(12)+1}-#{rand(28)+1} " +
|
99
|
+
"#{rand(24)}:#{rand(60)}:#{rand(60)}"
|
100
|
+
d2 = "#{rand(600) + 1600}-#{rand(12)+1}-#{rand(28)+1} " +
|
101
|
+
"#{rand(24)}:#{rand(60)}:#{rand(60)}"
|
102
|
+
d1 = DateTime.strptime(d1, "%Y-%m-%d %H:%M:%S")
|
103
|
+
d2 = DateTime.strptime(d2, "%Y-%m-%d %H:%M:%S")
|
104
|
+
assert_equal(d1.to_s, d1.to_s_lex(:second).to_date_time_lex.to_s)
|
105
|
+
assert_equal(d2.to_s, d2.to_s_lex(:second).to_date_time_lex.to_s)
|
106
|
+
[:year, :month, :day, :hour, :minute, :second].each do |prec|
|
107
|
+
d1_x = d1.to_s_lex(prec).to_date_lex
|
108
|
+
d2_x = d2.to_s_lex(prec).to_date_lex
|
109
|
+
assert_equal(d1_x < d2_x, d1.to_s_lex(prec) < d2.to_s_lex(prec),
|
110
|
+
"Strings should sort correctly but " +
|
111
|
+
"#{d1_x} < #{d2_x} == #{d1_x < d2_x} but " +
|
112
|
+
"#{d1.to_s_lex(prec)} < #{d2.to_s_lex(prec)} == " +
|
113
|
+
"#{d1.to_s_lex(prec) < d2.to_s_lex(prec)}")
|
114
|
+
end
|
115
|
+
end
|
116
|
+
end
|
117
|
+
end
|
@@ -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
ADDED
@@ -0,0 +1,285 @@
|
|
1
|
+
--- !ruby/object:Gem::Specification
|
2
|
+
name: sdsykes-ferret
|
3
|
+
version: !ruby/object:Gem::Version
|
4
|
+
prerelease: false
|
5
|
+
segments:
|
6
|
+
- 0
|
7
|
+
- 11
|
8
|
+
- 6
|
9
|
+
- 19
|
10
|
+
version: 0.11.6.19
|
11
|
+
platform: ruby
|
12
|
+
authors:
|
13
|
+
- David Balmain
|
14
|
+
autorequire: ferret
|
15
|
+
bindir: bin
|
16
|
+
cert_chain: []
|
17
|
+
|
18
|
+
date: 2007-11-28 00:00:00 +02:00
|
19
|
+
default_executable: ferret-browser
|
20
|
+
dependencies:
|
21
|
+
- !ruby/object:Gem::Dependency
|
22
|
+
name: rake
|
23
|
+
prerelease: false
|
24
|
+
requirement: &id001 !ruby/object:Gem::Requirement
|
25
|
+
requirements:
|
26
|
+
- - ">"
|
27
|
+
- !ruby/object:Gem::Version
|
28
|
+
segments:
|
29
|
+
- 0
|
30
|
+
- 0
|
31
|
+
- 0
|
32
|
+
version: 0.0.0
|
33
|
+
type: :runtime
|
34
|
+
version_requirements: *id001
|
35
|
+
description: Ferret is a port of the Java Lucene project. It is a powerful indexing and search library.
|
36
|
+
email: dbalmain@gmail.com
|
37
|
+
executables:
|
38
|
+
- ferret-browser
|
39
|
+
extensions:
|
40
|
+
- ext/extconf.rb
|
41
|
+
extra_rdoc_files:
|
42
|
+
- README
|
43
|
+
- TODO
|
44
|
+
- TUTORIAL
|
45
|
+
- MIT-LICENSE
|
46
|
+
- ext/r_index.c
|
47
|
+
- ext/r_analysis.c
|
48
|
+
- ext/r_utils.c
|
49
|
+
- ext/r_search.c
|
50
|
+
- ext/r_qparser.c
|
51
|
+
- ext/r_store.c
|
52
|
+
- ext/ferret.c
|
53
|
+
files:
|
54
|
+
- setup.rb
|
55
|
+
- TODO
|
56
|
+
- TUTORIAL
|
57
|
+
- Rakefile
|
58
|
+
- CHANGELOG
|
59
|
+
- README
|
60
|
+
- MIT-LICENSE
|
61
|
+
- ext/lang.h
|
62
|
+
- ext/q_filtered_query.c
|
63
|
+
- ext/stem_ISO_8859_1_spanish.h
|
64
|
+
- ext/stem_ISO_8859_1_spanish.c
|
65
|
+
- ext/global.c
|
66
|
+
- ext/stem_UTF_8_italian.c
|
67
|
+
- ext/modules.h
|
68
|
+
- ext/stem_UTF_8_portuguese.c
|
69
|
+
- ext/stem_ISO_8859_1_dutch.c
|
70
|
+
- ext/store.h
|
71
|
+
- ext/stem_UTF_8_spanish.h
|
72
|
+
- ext/array.c
|
73
|
+
- ext/stem_ISO_8859_1_finnish.c
|
74
|
+
- ext/stem_ISO_8859_1_finnish.h
|
75
|
+
- ext/stem_UTF_8_finnish.h
|
76
|
+
- ext/stem_ISO_8859_1_italian.h
|
77
|
+
- ext/analysis.h
|
78
|
+
- ext/q_wildcard.c
|
79
|
+
- ext/except.h
|
80
|
+
- ext/stem_UTF_8_english.c
|
81
|
+
- ext/stem_ISO_8859_1_german.h
|
82
|
+
- ext/api.c
|
83
|
+
- ext/r_index.c
|
84
|
+
- ext/hashset.c
|
85
|
+
- ext/stem_ISO_8859_1_german.c
|
86
|
+
- ext/stem_ISO_8859_1_swedish.h
|
87
|
+
- ext/utilities.c
|
88
|
+
- ext/stem_UTF_8_spanish.c
|
89
|
+
- ext/stem_UTF_8_dutch.h
|
90
|
+
- ext/stem_ISO_8859_1_danish.c
|
91
|
+
- ext/q_match_all.c
|
92
|
+
- ext/stem_UTF_8_german.c
|
93
|
+
- ext/compound_io.c
|
94
|
+
- ext/hash.h
|
95
|
+
- ext/q_prefix.c
|
96
|
+
- ext/stopwords.c
|
97
|
+
- ext/stem_ISO_8859_1_italian.c
|
98
|
+
- ext/bitvector.h
|
99
|
+
- ext/stem_ISO_8859_1_dutch.h
|
100
|
+
- ext/bitvector.c
|
101
|
+
- ext/r_analysis.c
|
102
|
+
- ext/mempool.h
|
103
|
+
- ext/config.h
|
104
|
+
- ext/stem_UTF_8_german.h
|
105
|
+
- ext/stem_UTF_8_porter.c
|
106
|
+
- ext/stem_ISO_8859_1_norwegian.c
|
107
|
+
- ext/threading.h
|
108
|
+
- ext/stem_UTF_8_norwegian.c
|
109
|
+
- ext/stem_ISO_8859_1_swedish.c
|
110
|
+
- ext/stem_UTF_8_portuguese.h
|
111
|
+
- ext/search.h
|
112
|
+
- ext/hash.c
|
113
|
+
- ext/stem_UTF_8_swedish.c
|
114
|
+
- ext/fs_store.c
|
115
|
+
- ext/stem_UTF_8_french.h
|
116
|
+
- ext/stem_UTF_8_finnish.c
|
117
|
+
- ext/stem_UTF_8_danish.c
|
118
|
+
- ext/stem_UTF_8_porter.h
|
119
|
+
- ext/ferret.c
|
120
|
+
- ext/term_vectors.c
|
121
|
+
- ext/posh.c
|
122
|
+
- ext/stem_ISO_8859_1_norwegian.h
|
123
|
+
- ext/helper.c
|
124
|
+
- ext/mempool.c
|
125
|
+
- ext/r_utils.c
|
126
|
+
- ext/document.c
|
127
|
+
- ext/stem_KOI8_R_russian.c
|
128
|
+
- ext/stem_KOI8_R_russian.h
|
129
|
+
- ext/r_search.c
|
130
|
+
- ext/libstemmer.c
|
131
|
+
- ext/api.h
|
132
|
+
- ext/stem_ISO_8859_1_portuguese.c
|
133
|
+
- ext/r_qparser.c
|
134
|
+
- ext/multimapper.h
|
135
|
+
- ext/stem_ISO_8859_1_french.c
|
136
|
+
- ext/stem_UTF_8_danish.h
|
137
|
+
- ext/stem_ISO_8859_1_portuguese.h
|
138
|
+
- ext/hashset.h
|
139
|
+
- ext/q_parser.c
|
140
|
+
- ext/analysis.c
|
141
|
+
- ext/r_store.c
|
142
|
+
- ext/stem_UTF_8_swedish.h
|
143
|
+
- ext/stem_UTF_8_italian.h
|
144
|
+
- ext/q_phrase.c
|
145
|
+
- ext/q_term.c
|
146
|
+
- ext/priorityqueue.h
|
147
|
+
- ext/libstemmer.h
|
148
|
+
- ext/filter.c
|
149
|
+
- ext/q_span.c
|
150
|
+
- ext/multimapper.c
|
151
|
+
- ext/index.h
|
152
|
+
- ext/helper.h
|
153
|
+
- ext/similarity.h
|
154
|
+
- ext/stem_UTF_8_french.c
|
155
|
+
- ext/header.h
|
156
|
+
- ext/index.c
|
157
|
+
- ext/posh.h
|
158
|
+
- ext/document.h
|
159
|
+
- ext/similarity.c
|
160
|
+
- ext/stem_UTF_8_russian.c
|
161
|
+
- ext/win32.h
|
162
|
+
- ext/q_fuzzy.c
|
163
|
+
- ext/search.c
|
164
|
+
- ext/stem_ISO_8859_1_porter.c
|
165
|
+
- ext/stem_UTF_8_russian.h
|
166
|
+
- ext/ram_store.c
|
167
|
+
- ext/stem_ISO_8859_1_porter.h
|
168
|
+
- ext/except.c
|
169
|
+
- ext/q_range.c
|
170
|
+
- ext/sort.c
|
171
|
+
- ext/q_multi_term.c
|
172
|
+
- ext/q_const_score.c
|
173
|
+
- ext/q_boolean.c
|
174
|
+
- ext/stem_UTF_8_norwegian.h
|
175
|
+
- ext/priorityqueue.c
|
176
|
+
- ext/array.h
|
177
|
+
- ext/stem_ISO_8859_1_danish.h
|
178
|
+
- ext/store.c
|
179
|
+
- ext/stem_UTF_8_english.h
|
180
|
+
- ext/stem_ISO_8859_1_english.h
|
181
|
+
- ext/stem_ISO_8859_1_french.h
|
182
|
+
- ext/stem_ISO_8859_1_english.c
|
183
|
+
- ext/ferret.h
|
184
|
+
- ext/global.h
|
185
|
+
- ext/stem_UTF_8_dutch.c
|
186
|
+
- ext/inc/lang.h
|
187
|
+
- ext/inc/threading.h
|
188
|
+
- lib/ferret_version.rb
|
189
|
+
- lib/ferret/field_infos.rb
|
190
|
+
- lib/ferret/browser/webrick.rb
|
191
|
+
- lib/ferret/browser.rb
|
192
|
+
- lib/ferret/document.rb
|
193
|
+
- lib/ferret/index.rb
|
194
|
+
- lib/ferret/number_tools.rb
|
195
|
+
- lib/ferret.rb
|
196
|
+
- lib/ferret/browser/views/home/index.rhtml
|
197
|
+
- lib/ferret/browser/views/help/index.rhtml
|
198
|
+
- lib/ferret/browser/views/document/list.rhtml
|
199
|
+
- lib/ferret/browser/views/document/show.rhtml
|
200
|
+
- lib/ferret/browser/views/term/index.rhtml
|
201
|
+
- lib/ferret/browser/views/term/termdocs.rhtml
|
202
|
+
- lib/ferret/browser/views/error/index.rhtml
|
203
|
+
- lib/ferret/browser/views/layout.rhtml
|
204
|
+
- lib/ferret/browser/views/term-vector/index.rhtml
|
205
|
+
- lib/ferret/browser/s/style.css
|
206
|
+
- lib/ferret/browser/s/global.js
|
207
|
+
- test/unit/index/th_doc.rb
|
208
|
+
- test/unit/index/tc_index_writer.rb
|
209
|
+
- test/unit/index/tc_index.rb
|
210
|
+
- test/unit/index/tc_index_reader.rb
|
211
|
+
- test/unit/ts_index.rb
|
212
|
+
- test/unit/tc_document.rb
|
213
|
+
- test/unit/ts_query_parser.rb
|
214
|
+
- test/unit/utils/tc_bit_vector.rb
|
215
|
+
- test/unit/utils/tc_priority_queue.rb
|
216
|
+
- test/unit/utils/tc_number_tools.rb
|
217
|
+
- test/unit/ts_analysis.rb
|
218
|
+
- test/unit/query_parser/tc_query_parser.rb
|
219
|
+
- test/unit/search/tc_search_and_sort.rb
|
220
|
+
- test/unit/search/tc_sort.rb
|
221
|
+
- test/unit/search/tc_index_searcher.rb
|
222
|
+
- test/unit/search/tc_sort_field.rb
|
223
|
+
- test/unit/search/tm_searcher.rb
|
224
|
+
- test/unit/search/tc_fuzzy_query.rb
|
225
|
+
- test/unit/search/tc_filter.rb
|
226
|
+
- test/unit/search/tc_multiple_search_requests.rb
|
227
|
+
- test/unit/search/tc_spans.rb
|
228
|
+
- test/unit/search/tc_multi_searcher.rb
|
229
|
+
- test/unit/ts_search.rb
|
230
|
+
- test/unit/ts_store.rb
|
231
|
+
- test/unit/store/tc_fs_store.rb
|
232
|
+
- test/unit/store/tm_store.rb
|
233
|
+
- test/unit/store/tm_store_lock.rb
|
234
|
+
- test/unit/store/tc_ram_store.rb
|
235
|
+
- test/unit/ts_utils.rb
|
236
|
+
- test/unit/analysis/tc_token_stream.rb
|
237
|
+
- test/unit/analysis/tc_analyzer.rb
|
238
|
+
- test/unit/ts_largefile.rb
|
239
|
+
- test/unit/largefile/tc_largefile.rb
|
240
|
+
- test/test_all.rb
|
241
|
+
- test/threading/thread_safety_index_test.rb
|
242
|
+
- test/threading/number_to_spoken.rb
|
243
|
+
- test/threading/thread_safety_read_write_test.rb
|
244
|
+
- test/threading/thread_safety_test.rb
|
245
|
+
- test/test_helper.rb
|
246
|
+
- bin/ferret-browser
|
247
|
+
- ext/extconf.rb
|
248
|
+
has_rdoc: true
|
249
|
+
homepage: http://ferret.davebalmain.com/trac
|
250
|
+
licenses: []
|
251
|
+
|
252
|
+
post_install_message:
|
253
|
+
rdoc_options:
|
254
|
+
- --title
|
255
|
+
- Ferret -- Ruby Indexer
|
256
|
+
- --main
|
257
|
+
- README
|
258
|
+
- --line-numbers
|
259
|
+
- TUTORIAL
|
260
|
+
- TODO
|
261
|
+
require_paths:
|
262
|
+
- lib
|
263
|
+
required_ruby_version: !ruby/object:Gem::Requirement
|
264
|
+
requirements:
|
265
|
+
- - ">="
|
266
|
+
- !ruby/object:Gem::Version
|
267
|
+
segments:
|
268
|
+
- 0
|
269
|
+
version: "0"
|
270
|
+
required_rubygems_version: !ruby/object:Gem::Requirement
|
271
|
+
requirements:
|
272
|
+
- - ">="
|
273
|
+
- !ruby/object:Gem::Version
|
274
|
+
segments:
|
275
|
+
- 0
|
276
|
+
version: "0"
|
277
|
+
requirements: []
|
278
|
+
|
279
|
+
rubyforge_project: ferret
|
280
|
+
rubygems_version: 1.3.6
|
281
|
+
signing_key:
|
282
|
+
specification_version: 3
|
283
|
+
summary: Ruby indexing library.
|
284
|
+
test_files: []
|
285
|
+
|