picky 0.11.2 → 0.12.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (81) hide show
  1. data/lib/picky/Index_api.rb +49 -0
  2. data/lib/picky/alias_instances.rb +4 -1
  3. data/lib/picky/application.rb +16 -15
  4. data/lib/picky/cacher/partial/{subtoken.rb → substring.rb} +19 -18
  5. data/lib/picky/{character_substitution/european.rb → character_substituters/west_european.rb} +2 -2
  6. data/lib/picky/configuration/index.rb +67 -0
  7. data/lib/picky/cores.rb +3 -0
  8. data/lib/picky/index/bundle.rb +35 -51
  9. data/lib/picky/index/file/basic.rb +39 -5
  10. data/lib/picky/index/file/json.rb +10 -0
  11. data/lib/picky/index/file/marshal.rb +10 -0
  12. data/lib/picky/index/file/text.rb +22 -0
  13. data/lib/picky/index/files.rb +11 -36
  14. data/lib/picky/indexed/bundle.rb +61 -0
  15. data/lib/picky/{index → indexed}/categories.rb +1 -1
  16. data/lib/picky/{index → indexed}/category.rb +13 -16
  17. data/lib/picky/{index/type.rb → indexed/index.rb} +6 -6
  18. data/lib/picky/{index/types.rb → indexed/indexes.rb} +10 -10
  19. data/lib/picky/{index → indexed}/wrappers/exact_first.rb +8 -8
  20. data/lib/picky/indexers/no_source_specified_error.rb +1 -1
  21. data/lib/picky/indexers/serial.rb +64 -0
  22. data/lib/picky/indexers/solr.rb +1 -3
  23. data/lib/picky/indexes_api.rb +41 -0
  24. data/lib/picky/indexing/bundle.rb +43 -13
  25. data/lib/picky/indexing/category.rb +17 -64
  26. data/lib/picky/indexing/{type.rb → index.rb} +13 -3
  27. data/lib/picky/indexing/{types.rb → indexes.rb} +22 -22
  28. data/lib/picky/loader.rb +17 -22
  29. data/lib/picky/query/base.rb +1 -1
  30. data/lib/picky/rack/harakiri.rb +9 -2
  31. data/lib/picky/signals.rb +1 -1
  32. data/lib/picky/sources/base.rb +14 -14
  33. data/lib/picky/sources/couch.rb +8 -7
  34. data/lib/picky/sources/csv.rb +10 -10
  35. data/lib/picky/sources/db.rb +8 -8
  36. data/lib/picky/sources/delicious.rb +2 -2
  37. data/lib/picky/sources/wrappers/location.rb +3 -3
  38. data/lib/picky/tokenizers/base.rb +1 -11
  39. data/lib/picky/tokenizers/index.rb +0 -1
  40. data/lib/picky/tokenizers/query.rb +0 -1
  41. data/lib/tasks/index.rake +4 -4
  42. data/lib/tasks/shortcuts.rake +4 -4
  43. data/lib/tasks/try.rake +8 -8
  44. data/project_prototype/Gemfile +1 -1
  45. data/project_prototype/app/application.rb +13 -12
  46. data/spec/lib/application_spec.rb +10 -38
  47. data/spec/lib/cacher/partial/{subtoken_spec.rb → substring_spec.rb} +0 -0
  48. data/spec/lib/{character_substitution/european_spec.rb → character_substituters/west_european_spec.rb} +6 -2
  49. data/spec/lib/configuration/index_spec.rb +80 -0
  50. data/spec/lib/cores_spec.rb +1 -1
  51. data/spec/lib/index/file/text_spec.rb +1 -1
  52. data/spec/lib/index/files_spec.rb +12 -32
  53. data/spec/lib/indexed/bundle_spec.rb +119 -0
  54. data/spec/lib/{indexing → indexed}/categories_spec.rb +13 -14
  55. data/spec/lib/{index → indexed}/category_spec.rb +6 -6
  56. data/spec/lib/{index/type_spec.rb → indexed/index_spec.rb} +3 -3
  57. data/spec/lib/{index → indexed}/wrappers/exact_first_spec.rb +5 -5
  58. data/spec/lib/indexers/serial_spec.rb +62 -0
  59. data/spec/lib/indexing/bundle_partial_generation_speed_spec.rb +7 -5
  60. data/spec/lib/indexing/bundle_spec.rb +9 -14
  61. data/spec/lib/indexing/category_spec.rb +9 -125
  62. data/spec/lib/indexing/{type_spec.rb → index_spec.rb} +3 -3
  63. data/spec/lib/query/base_spec.rb +1 -1
  64. data/spec/lib/query/full_spec.rb +1 -1
  65. data/spec/lib/query/live_spec.rb +2 -4
  66. data/spec/lib/sources/couch_spec.rb +5 -5
  67. data/spec/lib/sources/db_spec.rb +6 -7
  68. data/spec/lib/tokenizers/base_spec.rb +1 -24
  69. data/spec/lib/tokenizers/query_spec.rb +0 -1
  70. metadata +38 -41
  71. data/lib/picky/bundle.rb +0 -33
  72. data/lib/picky/configuration/indexes.rb +0 -51
  73. data/lib/picky/configuration/queries.rb +0 -15
  74. data/lib/picky/indexers/base.rb +0 -85
  75. data/lib/picky/indexers/default.rb +0 -3
  76. data/lib/picky/type.rb +0 -46
  77. data/lib/picky/types.rb +0 -41
  78. data/lib/tasks/cache.rake +0 -46
  79. data/spec/lib/configuration/indexes_spec.rb +0 -28
  80. data/spec/lib/index/bundle_spec.rb +0 -151
  81. data/spec/lib/indexers/base_spec.rb +0 -89
@@ -3,18 +3,19 @@ require 'spec_helper'
3
3
  describe Indexing::Bundle do
4
4
 
5
5
  before(:each) do
6
- @category = stub :category, :name => :some_category
7
- @type = stub :type, :name => :some_type
6
+ @index = stub :index, :name => :some_index
7
+ @category = stub :category, :name => :some_category
8
+ @configuration = Configuration::Index.new @index, @category
9
+
8
10
  @partial = stub :partial
9
11
  @weights = stub :weights
10
12
  @similarity = stub :similarity
11
- @index_class = Indexing::Bundle
12
- @index = @index_class.new :some_name, @category, @type, @partial, @weights, @similarity
13
+ @index = Indexing::Bundle.new :some_name, @configuration, @similarity, @partial, @weights
13
14
  end
14
15
 
15
16
  describe 'identifier' do
16
17
  it 'should return a specific identifier' do
17
- @index.identifier.should == 'some_type: some_name some_category'
18
+ @index.identifier.should == 'some_index some_category (some_name)'
18
19
  end
19
20
  end
20
21
 
@@ -212,12 +213,6 @@ describe Indexing::Bundle do
212
213
  end
213
214
 
214
215
  describe 'initialization' do
215
- before(:each) do
216
- @category = stub :category, :name => :some_category
217
- @type = stub :type, :name => :some_type
218
-
219
- @index = @index_class.new :some_name, @category, @type, :similarity, :partial, :weights
220
- end
221
216
  it 'should initialize the index correctly' do
222
217
  @index.index.should == {}
223
218
  end
@@ -228,13 +223,13 @@ describe Indexing::Bundle do
228
223
  @index.similarity.should == {}
229
224
  end
230
225
  it 'should initialize the partial strategy correctly' do
231
- @index.partial_strategy.should == :partial
226
+ @index.partial_strategy.should == @partial
232
227
  end
233
228
  it 'should initialize the weights strategy correctly' do
234
- @index.weights_strategy.should == :weights
229
+ @index.weights_strategy.should == @weights
235
230
  end
236
231
  it 'should initialize the similarity strategy correctly' do
237
- @index.similarity_strategy.should == :similarity
232
+ @index.similarity_strategy.should == @similarity
238
233
  end
239
234
  end
240
235
 
@@ -1,10 +1,13 @@
1
1
  require 'spec_helper'
2
+
2
3
  describe Indexing::Category do
3
4
 
5
+ before(:each) do
6
+ @index = stub :index, :name => :some_index
7
+ @category = Indexing::Category.new :some_category, @index, :source => :some_given_source
8
+ end
4
9
  context "unit specs" do
5
10
  before(:each) do
6
- @type = stub :some_type, :name => :some_type
7
- @category = Indexing::Category.new :some_name, @type
8
11
  @exact = @category.exact
9
12
  @partial = @category.partial
10
13
  end
@@ -69,88 +72,12 @@ describe Indexing::Category do
69
72
  end
70
73
  end
71
74
 
72
- describe "virtual?" do
73
- context "with virtual true" do
74
- before(:each) do
75
- @category = Indexing::Category.new :some_name, @type, virtual: true
76
- end
77
- it "returns the right value" do
78
- @category.virtual?.should == true
79
- end
80
- end
81
- context "with virtual object" do
82
- before(:each) do
83
- @category = Indexing::Category.new :some_name, @type, :virtual => 123.6
84
- end
85
- it "returns the right value" do
86
- @category.virtual?.should == true
87
- end
88
- end
89
- context "with virtual nil" do
90
- before(:each) do
91
- @category = Indexing::Category.new :some_name, @type, :virtual => nil
92
- end
93
- it "returns the right value" do
94
- @category.virtual?.should == false
95
- end
96
- end
97
- context "with virtual false" do
98
- before(:each) do
99
- @category = Indexing::Category.new :some_name, @type, :virtual => false
100
- end
101
- it "returns the right value" do
102
- @category.virtual?.should == false
103
- end
104
- end
105
- end
106
- describe "tokenizer" do
107
- context "with specific tokenizer" do
108
- before(:each) do
109
- @category = Indexing::Category.new :some_name, @type, tokenizer: Tokenizers::Index.new
110
- end
111
- it "caches" do
112
- @category.tokenizer.should == @category.tokenizer
113
- end
114
- it "returns an instance" do
115
- @category.tokenizer.should be_kind_of(Tokenizers::Index)
116
- end
117
- end
118
- end
119
- describe "indexer" do
120
- context "with default indexer" do
121
- before(:each) do
122
- @category = Indexing::Category.new :some_name, @type
123
- end
124
- it "caches" do
125
- @category.indexer.should == @category.indexer
126
- end
127
- end
128
- context "with specific indexer" do
129
- before(:each) do
130
- @category = Indexing::Category.new :some_name, @type, tokenizer: Indexers::Default
131
- end
132
- it "caches" do
133
- @category.indexer.should == @category.indexer
134
- end
135
- it "returns an instance" do
136
- @category.indexer.should be_kind_of(Indexers::Default)
137
- end
138
- it "creates a new instance of the right class" do
139
- Indexers::Default.should_receive(:new).once.with @type, @category
140
-
141
- @category.indexer
142
- end
143
- end
144
- end
145
75
  describe "cache" do
146
76
  before(:each) do
147
- @category = Indexing::Category.new :some_name, @type
148
- @category.stub! :prepare_cache_directory
149
-
150
77
  @category.stub! :generate_caches
151
78
  end
152
79
  it "prepares the cache directory" do
153
- @category.should_receive(:prepare_cache_directory).once.with
80
+ @category.should_receive(:prepare_index_directory).once.with
154
81
 
155
82
  @category.cache
156
83
  end
@@ -160,28 +87,13 @@ describe Indexing::Category do
160
87
  @category.cache
161
88
  end
162
89
  end
163
- describe "prepare_cache_directory" do
164
- before(:each) do
165
- @category = Indexing::Category.new :some_name, @type
166
-
167
- @category.stub! :cache_directory => :some_cache_directory
168
- end
169
- it "tells the FileUtils to mkdir_p" do
170
- FileUtils.should_receive(:mkdir_p).once.with :some_cache_directory
171
-
172
- @category.prepare_cache_directory
173
- end
174
- end
175
90
  describe "index" do
176
91
  before(:each) do
177
- @category = Indexing::Category.new :some_name, @type
178
- @category.stub! :prepare_cache_directory
179
-
180
92
  @indexer = stub :indexer, :index => nil
181
93
  @category.stub! :indexer => @indexer
182
94
  end
183
95
  it "prepares the cache directory" do
184
- @category.should_receive(:prepare_cache_directory).once.with
96
+ @category.should_receive(:prepare_index_directory).once.with
185
97
 
186
98
  @category.index
187
99
  end
@@ -192,40 +104,12 @@ describe Indexing::Category do
192
104
  end
193
105
  end
194
106
  describe "source" do
195
- context "with source" do
196
- before(:each) do
197
- @category = Indexing::Category.new :some_name, @type, :source => :some_given_source
198
- end
199
- it "returns the given source" do
200
- @category.source.should == :some_given_source
201
- end
202
- end
203
107
  context "without source" do
204
- before(:each) do
205
- @type = stub :type, :name => :some_type, :source => :some_type_source
206
-
207
- @category = Indexing::Category.new :some_name, @type
208
- end
209
- it "returns the type's source" do
210
- @category.source.should == :some_type_source
211
- end
212
- end
213
- end
214
- context "name symbol" do
215
- before(:each) do
216
- @category = Indexing::Category.new :some_name, @type
217
- end
218
- describe "search_index_file_name" do
219
- it "returns the right file name" do
220
- @category.search_index_file_name.should == 'some/search/root/index/test/some_type/prepared_some_name_index.txt'
108
+ it "raises" do
109
+ lambda { Indexing::Category.new :some_name, @index }.should raise_error(Indexers::NoSourceSpecifiedException)
221
110
  end
222
111
  end
223
112
  end
224
- context "name string" do
225
- it "works" do
226
- @category = Indexing::Category.new 'some_name', @type
227
- end
228
- end
229
113
  end
230
114
 
231
115
  end
@@ -1,6 +1,6 @@
1
1
  require 'spec_helper'
2
2
 
3
- describe Indexing::Type do
3
+ describe Indexing::Index do
4
4
 
5
5
  context "with categories" do
6
6
  before(:each) do
@@ -8,7 +8,7 @@ describe Indexing::Type do
8
8
 
9
9
  @categories = stub :categories
10
10
 
11
- @index = Indexing::Type.new :some_name, @source
11
+ @index = Indexing::Index.new :some_name, @source
12
12
  @index.add_category :some_category_name1
13
13
  @index.add_category :some_category_name2
14
14
 
@@ -25,7 +25,7 @@ describe Indexing::Type do
25
25
 
26
26
  context "no categories" do
27
27
  it "works" do
28
- Indexing::Type.new :some_name, @source
28
+ Indexing::Index.new :some_name, @source
29
29
  end
30
30
  end
31
31
 
@@ -109,7 +109,7 @@ describe 'Query::Base' do
109
109
 
110
110
  before(:each) do
111
111
  @type = stub :type
112
- @index = stub :some_index, :index => @type
112
+ @index = stub :some_index, :indexed => @type
113
113
  end
114
114
 
115
115
  describe 'initializer' do
@@ -4,7 +4,7 @@ describe Query::Full do
4
4
 
5
5
  before(:each) do
6
6
  @type = stub :type
7
- @index = stub :index, :index => @type
7
+ @index = stub :index, :indexed => @type
8
8
  end
9
9
 
10
10
  describe 'result_type' do
@@ -3,10 +3,8 @@ require 'spec_helper'
3
3
  describe Query::Live do
4
4
 
5
5
  before(:each) do
6
- # @category1 = Index::Category.new
7
- # @type_index = Index::Type.new :some_name, :some_result_type, @category1
8
- @type = stub :type
9
- @index = stub :index, :index => @type
6
+ @indexed = stub :indexed
7
+ @index = stub :index, :indexed => @indexed
10
8
  end
11
9
 
12
10
  describe 'result_type' do
@@ -7,15 +7,15 @@ describe Sources::Couch do
7
7
  lambda { @source = Sources::Couch.new(:a, :b, :c) }.should raise_error(Sources::NoCouchDBGiven)
8
8
  end
9
9
  end
10
-
10
+
11
11
  context "with database" do
12
12
  before(:each) do
13
13
  @source = Sources::Couch.new :a, :b, :c, url: 'http://localhost:5984/picky'
14
14
  RestClient::Request.should_receive(:execute).any_number_of_times.and_return %{{"rows":[{"doc":{"_id":"7","a":"a data","b":"b data","c":"c data"}}]}}
15
15
  end
16
-
16
+
17
17
  describe "harvest" do
18
- it "should yield the right data" do
18
+ it "yields the right data" do
19
19
  field = stub :b, :name => :b
20
20
  @source.harvest :anything, field do |id, token|
21
21
  id.should eql(7)
@@ -23,9 +23,9 @@ describe Sources::Couch do
23
23
  end.should have(1).item
24
24
  end
25
25
  end
26
-
26
+
27
27
  describe "get_data" do
28
- it "should yield each line" do
28
+ it "yields each line" do
29
29
  @source.get_data do |data|
30
30
  data.should == { "_id" => "7", "a" => "a data", "b" => "b data", "c" => "c data" }
31
31
  end.should have(1).item
@@ -112,21 +112,20 @@ describe Sources::DB do
112
112
 
113
113
  describe "harvest_statement_with_offset" do
114
114
  before(:each) do
115
- @source.should_receive(:type_name).any_number_of_times.and_return :books
116
- @field = stub :field, :name => :some_field
117
- @type = stub :type, :name => :some_type
115
+ @category = stub :category, :name => :some_category
116
+ @type = stub :type, :name => :some_type
118
117
  end
119
118
  it "should get a harvest statement and the chunksize to put the statement together" do
120
- @source.should_receive(:harvest_statement).once.and_return 'some_example_statement'
121
- @source.harvest_statement_with_offset(@type, @field, :some_offset)
119
+ @source.should_receive(:harvest_statement).once.with(@type, @category).and_return 'some_example_statement'
120
+ @source.harvest_statement_with_offset(@type, @category, :some_offset)
122
121
  end
123
122
  it "should add an AND if it already contains a WHERE statement" do
124
123
  @source.should_receive(:harvest_statement).and_return 'WHERE'
125
- @source.harvest_statement_with_offset(@type, @field, :some_offset).should == "WHERE AND st.id > some_offset LIMIT 25000"
124
+ @source.harvest_statement_with_offset(@type, @category, :some_offset).should == "WHERE AND st.id > some_offset LIMIT 25000"
126
125
  end
127
126
  it "should add a WHERE if it doesn't already contain one" do
128
127
  @source.should_receive(:harvest_statement).and_return 'some_statement'
129
- @source.harvest_statement_with_offset(@type, @field, :some_offset).should == "some_statement WHERE st.id > some_offset LIMIT 25000"
128
+ @source.harvest_statement_with_offset(@type, @category, :some_offset).should == "some_statement WHERE st.id > some_offset LIMIT 25000"
130
129
  end
131
130
  end
132
131
 
@@ -13,7 +13,7 @@ describe Tokenizers::Base do
13
13
  @tokenizer.substitute_characters('abcdefghijklmnopqrstuvwxyzäöü').should == 'abcdefghijklmnopqrstuvwxyzäöü'
14
14
  end
15
15
  it "uses the substituter to replace characters" do
16
- @tokenizer.substitutes_characters_with CharacterSubstitution::European.new
16
+ @tokenizer.substitutes_characters_with CharacterSubstituters::WestEuropean.new
17
17
 
18
18
  @tokenizer.substitute_characters('abcdefghijklmnopqrstuvwxyzäöü').should == 'abcdefghijklmnopqrstuvwxyzaeoeue'
19
19
  end
@@ -121,29 +121,6 @@ describe Tokenizers::Base do
121
121
  end
122
122
  end
123
123
 
124
- describe 'contracts_expressions' do
125
- context 'without contract_expressions called' do
126
- it 'should define a method contract' do
127
- lambda { @tokenizer.contract('from this text') }.should_not raise_error
128
- end
129
- it 'should define a method contract that does nothing' do
130
- unchanging = stub :unchanging
131
- @tokenizer.contract unchanging
132
- end
133
- end
134
- context 'with contracts_expressions called' do
135
- before(:each) do
136
- @tokenizer.contracts_expressions(/Mister|Mr./, 'mr')
137
- end
138
- it 'should define a method remove_stopwords' do
139
- lambda { @tokenizer.contract('from this text') }.should_not raise_error
140
- end
141
- it 'should define a method contract that contracts expressions' do
142
- @tokenizer.contract('Mister Meyer, Mr. Peter').should == 'mr Meyer, mr Peter'
143
- end
144
- end
145
- end
146
-
147
124
  describe 'stopwords' do
148
125
  context 'without stopwords given' do
149
126
  it 'should define a method remove_stopwords' do
@@ -45,7 +45,6 @@ describe Tokenizers::Query do
45
45
 
46
46
  @tokenizer.should_receive(:remove_illegals).once.ordered.with text
47
47
  @tokenizer.should_receive(:remove_non_single_stopwords).once.ordered.with text
48
- @tokenizer.should_receive(:contract).once.ordered
49
48
 
50
49
  @tokenizer.preprocess text
51
50
  end
metadata CHANGED
@@ -4,9 +4,9 @@ version: !ruby/object:Gem::Version
4
4
  prerelease: false
5
5
  segments:
6
6
  - 0
7
- - 11
8
- - 2
9
- version: 0.11.2
7
+ - 12
8
+ - 0
9
+ version: 0.12.0
10
10
  platform: ruby
11
11
  authors:
12
12
  - Florian Hanke
@@ -14,7 +14,7 @@ autorequire:
14
14
  bindir: bin
15
15
  cert_chain: []
16
16
 
17
- date: 2010-11-10 00:00:00 +01:00
17
+ date: 2010-11-23 00:00:00 +01:00
18
18
  default_executable: picky
19
19
  dependencies:
20
20
  - !ruby/object:Gem::Dependency
@@ -44,13 +44,12 @@ files:
44
44
  - lib/deployment.rb
45
45
  - lib/picky/alias_instances.rb
46
46
  - lib/picky/application.rb
47
- - lib/picky/bundle.rb
48
47
  - lib/picky/cacher/convenience.rb
49
48
  - lib/picky/cacher/generator.rb
50
49
  - lib/picky/cacher/partial/default.rb
51
50
  - lib/picky/cacher/partial/none.rb
52
51
  - lib/picky/cacher/partial/strategy.rb
53
- - lib/picky/cacher/partial/subtoken.rb
52
+ - lib/picky/cacher/partial/substring.rb
54
53
  - lib/picky/cacher/partial_generator.rb
55
54
  - lib/picky/cacher/similarity/default.rb
56
55
  - lib/picky/cacher/similarity/double_levenshtone.rb
@@ -62,9 +61,8 @@ files:
62
61
  - lib/picky/cacher/weights/logarithmic.rb
63
62
  - lib/picky/cacher/weights/strategy.rb
64
63
  - lib/picky/cacher/weights_generator.rb
65
- - lib/picky/character_substitution/european.rb
66
- - lib/picky/configuration/indexes.rb
67
- - lib/picky/configuration/queries.rb
64
+ - lib/picky/character_substituters/west_european.rb
65
+ - lib/picky/configuration/index.rb
68
66
  - lib/picky/cores.rb
69
67
  - lib/picky/ext/maybe_compile.rb
70
68
  - lib/picky/ext/ruby19/extconf.rb
@@ -78,25 +76,27 @@ files:
78
76
  - lib/picky/helpers/gc.rb
79
77
  - lib/picky/helpers/measuring.rb
80
78
  - lib/picky/index/bundle.rb
81
- - lib/picky/index/categories.rb
82
- - lib/picky/index/category.rb
83
79
  - lib/picky/index/file/basic.rb
84
80
  - lib/picky/index/file/json.rb
85
81
  - lib/picky/index/file/marshal.rb
86
82
  - lib/picky/index/file/text.rb
87
83
  - lib/picky/index/files.rb
88
- - lib/picky/index/type.rb
89
- - lib/picky/index/types.rb
90
- - lib/picky/index/wrappers/exact_first.rb
91
- - lib/picky/indexers/base.rb
92
- - lib/picky/indexers/default.rb
84
+ - lib/picky/Index_api.rb
85
+ - lib/picky/indexed/bundle.rb
86
+ - lib/picky/indexed/categories.rb
87
+ - lib/picky/indexed/category.rb
88
+ - lib/picky/indexed/index.rb
89
+ - lib/picky/indexed/indexes.rb
90
+ - lib/picky/indexed/wrappers/exact_first.rb
93
91
  - lib/picky/indexers/no_source_specified_error.rb
92
+ - lib/picky/indexers/serial.rb
94
93
  - lib/picky/indexers/solr.rb
94
+ - lib/picky/indexes_api.rb
95
95
  - lib/picky/indexing/bundle.rb
96
96
  - lib/picky/indexing/categories.rb
97
97
  - lib/picky/indexing/category.rb
98
- - lib/picky/indexing/type.rb
99
- - lib/picky/indexing/types.rb
98
+ - lib/picky/indexing/index.rb
99
+ - lib/picky/indexing/indexes.rb
100
100
  - lib/picky/loader.rb
101
101
  - lib/picky/loggers/search.rb
102
102
  - lib/picky/query/allocation.rb
@@ -129,12 +129,9 @@ files:
129
129
  - lib/picky/tokenizers/base.rb
130
130
  - lib/picky/tokenizers/index.rb
131
131
  - lib/picky/tokenizers/query.rb
132
- - lib/picky/type.rb
133
- - lib/picky/types.rb
134
132
  - lib/picky-tasks.rb
135
133
  - lib/picky.rb
136
134
  - lib/tasks/application.rake
137
- - lib/tasks/cache.rake
138
135
  - lib/tasks/framework.rake
139
136
  - lib/tasks/index.rake
140
137
  - lib/tasks/routes.rake
@@ -163,15 +160,15 @@ files:
163
160
  - spec/lib/cacher/cacher_strategy_spec.rb
164
161
  - spec/lib/cacher/partial/default_spec.rb
165
162
  - spec/lib/cacher/partial/none_spec.rb
166
- - spec/lib/cacher/partial/subtoken_spec.rb
163
+ - spec/lib/cacher/partial/substring_spec.rb
167
164
  - spec/lib/cacher/partial_generator_spec.rb
168
165
  - spec/lib/cacher/similarity/double_levenshtone_spec.rb
169
166
  - spec/lib/cacher/similarity/none_spec.rb
170
167
  - spec/lib/cacher/similarity_generator_spec.rb
171
168
  - spec/lib/cacher/weights/logarithmic_spec.rb
172
169
  - spec/lib/cacher/weights_generator_spec.rb
173
- - spec/lib/character_substitution/european_spec.rb
174
- - spec/lib/configuration/indexes_spec.rb
170
+ - spec/lib/character_substituters/west_european_spec.rb
171
+ - spec/lib/configuration/index_spec.rb
175
172
  - spec/lib/cores_spec.rb
176
173
  - spec/lib/extensions/array_spec.rb
177
174
  - spec/lib/extensions/hash_spec.rb
@@ -182,21 +179,21 @@ files:
182
179
  - spec/lib/helpers/cache_spec.rb
183
180
  - spec/lib/helpers/gc_spec.rb
184
181
  - spec/lib/helpers/measuring_spec.rb
185
- - spec/lib/index/bundle_spec.rb
186
- - spec/lib/index/category_spec.rb
187
182
  - spec/lib/index/file/basic_spec.rb
188
183
  - spec/lib/index/file/json_spec.rb
189
184
  - spec/lib/index/file/marshal_spec.rb
190
185
  - spec/lib/index/file/text_spec.rb
191
186
  - spec/lib/index/files_spec.rb
192
- - spec/lib/index/type_spec.rb
193
- - spec/lib/index/wrappers/exact_first_spec.rb
194
- - spec/lib/indexers/base_spec.rb
187
+ - spec/lib/indexed/bundle_spec.rb
188
+ - spec/lib/indexed/categories_spec.rb
189
+ - spec/lib/indexed/category_spec.rb
190
+ - spec/lib/indexed/index_spec.rb
191
+ - spec/lib/indexed/wrappers/exact_first_spec.rb
192
+ - spec/lib/indexers/serial_spec.rb
195
193
  - spec/lib/indexing/bundle_partial_generation_speed_spec.rb
196
194
  - spec/lib/indexing/bundle_spec.rb
197
- - spec/lib/indexing/categories_spec.rb
198
195
  - spec/lib/indexing/category_spec.rb
199
- - spec/lib/indexing/type_spec.rb
196
+ - spec/lib/indexing/index_spec.rb
200
197
  - spec/lib/loader_spec.rb
201
198
  - spec/lib/loggers/search_spec.rb
202
199
  - spec/lib/query/allocation_spec.rb
@@ -265,15 +262,15 @@ test_files:
265
262
  - spec/lib/cacher/cacher_strategy_spec.rb
266
263
  - spec/lib/cacher/partial/default_spec.rb
267
264
  - spec/lib/cacher/partial/none_spec.rb
268
- - spec/lib/cacher/partial/subtoken_spec.rb
265
+ - spec/lib/cacher/partial/substring_spec.rb
269
266
  - spec/lib/cacher/partial_generator_spec.rb
270
267
  - spec/lib/cacher/similarity/double_levenshtone_spec.rb
271
268
  - spec/lib/cacher/similarity/none_spec.rb
272
269
  - spec/lib/cacher/similarity_generator_spec.rb
273
270
  - spec/lib/cacher/weights/logarithmic_spec.rb
274
271
  - spec/lib/cacher/weights_generator_spec.rb
275
- - spec/lib/character_substitution/european_spec.rb
276
- - spec/lib/configuration/indexes_spec.rb
272
+ - spec/lib/character_substituters/west_european_spec.rb
273
+ - spec/lib/configuration/index_spec.rb
277
274
  - spec/lib/cores_spec.rb
278
275
  - spec/lib/extensions/array_spec.rb
279
276
  - spec/lib/extensions/hash_spec.rb
@@ -284,21 +281,21 @@ test_files:
284
281
  - spec/lib/helpers/cache_spec.rb
285
282
  - spec/lib/helpers/gc_spec.rb
286
283
  - spec/lib/helpers/measuring_spec.rb
287
- - spec/lib/index/bundle_spec.rb
288
- - spec/lib/index/category_spec.rb
289
284
  - spec/lib/index/file/basic_spec.rb
290
285
  - spec/lib/index/file/json_spec.rb
291
286
  - spec/lib/index/file/marshal_spec.rb
292
287
  - spec/lib/index/file/text_spec.rb
293
288
  - spec/lib/index/files_spec.rb
294
- - spec/lib/index/type_spec.rb
295
- - spec/lib/index/wrappers/exact_first_spec.rb
296
- - spec/lib/indexers/base_spec.rb
289
+ - spec/lib/indexed/bundle_spec.rb
290
+ - spec/lib/indexed/categories_spec.rb
291
+ - spec/lib/indexed/category_spec.rb
292
+ - spec/lib/indexed/index_spec.rb
293
+ - spec/lib/indexed/wrappers/exact_first_spec.rb
294
+ - spec/lib/indexers/serial_spec.rb
297
295
  - spec/lib/indexing/bundle_partial_generation_speed_spec.rb
298
296
  - spec/lib/indexing/bundle_spec.rb
299
- - spec/lib/indexing/categories_spec.rb
300
297
  - spec/lib/indexing/category_spec.rb
301
- - spec/lib/indexing/type_spec.rb
298
+ - spec/lib/indexing/index_spec.rb
302
299
  - spec/lib/loader_spec.rb
303
300
  - spec/lib/loggers/search_spec.rb
304
301
  - spec/lib/query/allocation_spec.rb
data/lib/picky/bundle.rb DELETED
@@ -1,33 +0,0 @@
1
- class Bundle
2
-
3
- attr_reader :identifier, :files
4
- attr_accessor :index, :weights, :similarity, :similarity_strategy
5
-
6
- delegate :[], :[]=, :clear, :to => :index
7
-
8
- def initialize name, category, type, similarity_strategy
9
- @identifier = "#{type.name}: #{name} #{category.name}"
10
-
11
- @index = {}
12
- @weights = {}
13
- @similarity = {}
14
-
15
- @similarity_strategy = similarity_strategy
16
-
17
- # TODO inject files.
18
- #
19
- # TODO Move Files somewhere. Shared?
20
- #
21
- # Files and the identifier are parametrized, the rest is not!
22
- #
23
- @files = Index::Files.new name, category.name, type.name
24
- end
25
-
26
- # Get a list of similar texts.
27
- #
28
- def similar text
29
- code = similarity_strategy.encoded text
30
- code && @similarity[code] || []
31
- end
32
-
33
- end
@@ -1,51 +0,0 @@
1
- # TODO Remove?
2
- #
3
- module Configuration
4
-
5
- # Describes the container for all index configurations.
6
- #
7
- class Indexes
8
-
9
- attr_reader :types
10
-
11
- def initialize
12
- @types = []
13
- end
14
-
15
- def default_tokenizer options = {}
16
- Tokenizers::Index.default = Tokenizers::Index.new(options)
17
- end
18
-
19
- # TODO Move this to … where?
20
- #
21
- # #
22
- # #
23
- # def take_snapshot *type_names
24
- # only_if_included_in type_names do |type|
25
- # type.take_snapshot
26
- # end
27
- # end
28
- # def index *type_names
29
- # only_if_included_in type_names do |type|
30
- # type.index
31
- # end
32
- # end
33
- # def index_solr *type_names
34
- # only_if_included_in type_names do |type|
35
- # type.index_solr
36
- # end
37
- # end
38
- #
39
- # #
40
- # #
41
- # def only_if_included_in type_names = []
42
- # type_names = types.map(&:name) if type_names.empty?
43
- # types.each do |type|
44
- # next unless type_names.include?(type.name)
45
- # yield type
46
- # end
47
- # end
48
-
49
- end
50
-
51
- end