Skip to content

HTTPS clone URL

Subversion checkout URL

You can clone with HTTPS or Subversion.

Download ZIP
Newer
Older
100644 812 lines (496 sloc) 46.424 kb
8cd65d8 Florian R. Hanke + history notes, - TODO
authored
1 h2. Upcoming Version
2
368810d Florian R. Hanke + 4.0.9
authored
3 h2. Version 4.0.9 "new york new york"
4
5 * hanke: (client) @Picky::Client::ActiveRecord.configure(options)@ added as an alias of @new@.
6 * hanke: (server) @require 'picky/sinatra/index_actions'@ is not necessary anymore to load the index actions. They are required automatically with @require 'picky/sinatra'@.
7
e648226 Florian R. Hanke + named versions
authored
8 h2. Version 4.0.8 "smoke and mirrors"
6d3ad2d Florian R. Hanke + 4.0.8
authored
9
10 * hanke: (client/server) Encode data part in JSON.
11
e648226 Florian R. Hanke + named versions
authored
12 h2. Version 4.0.7 "supermodel"
38166bb Florian R. Hanke + 4.0.7
authored
13
14 * hanke: Experimental ActiveRecord 3.0+ integration release. See below.
15 * hanke: (client) ActiveRecord models can now use @extend Picky::Client::ActiveRecord.new(*attributes_to_send, options = {})@ to have the model send updates/deletes back to the Picky server. Note that error handling is not yet built in. The server needs to be up and running.
011b3a4 Florian R. Hanke + history note
authored
16 * hanke: (server) The Sinatra style server can now @extend Picky::Sinatra::IndexActions@ to install index updating POST/DELETE methods on the "/" path (Note: Currently needs a @require 'picky/sinatra/index_actions'@ beforehand).
38166bb Florian R. Hanke + 4.0.7
authored
17
e648226 Florian R. Hanke + named versions
authored
18 h2. Version 4.0.6 "bug #57"
b231ff7 Florian R. Hanke + 4.0.6, ! Fixes issue #57, ! multicategory searches work in the Picky s...
authored
19
20 * hanke: (client) Fixed "bug #57":https://github.com/floere/picky/issues/57, multicategory selections in the Javascript user interface.
21
e648226 Florian R. Hanke + named versions
authored
22 h2. Version 4.0.5 "only :you"
59b308b Florian R. Hanke + experimental only category preselection functionality
authored
23
24 * hanke: (server) Experimental release of @only@ option for searches. Does the same as @only:that_category@, but implicitly, in the search. E.g. @only :cat1, :cat2@.
25
e648226 Florian R. Hanke + named versions
authored
26 h2. Version 4.0.4 "opinionated environment"
eb4bf24 Florian R. Hanke + history
authored
27
28 * hanke: (server) Default amount of similar tokens is now set to 3 instead of 10 for phonetic similarities.
50523ce Florian R. Hanke + Let's be opinionated and do PICKY_ENVIRONMENT = ENV['PICKY_ENV'] || EN...
authored
29 * hanke: (server) Server uses PICKY_ENV environment variable before RUBY_ENV and then RACK_ENV.
30
e648226 Florian R. Hanke + named versions
authored
31 h2. Version 4.0.2/3 "mea culpa"
b2f9fe6 Florian R. Hanke + 4.0.2
authored
32
33 * hanke: (server) Fix for realtime indexing when using specific options.
34
e648226 Florian R. Hanke + named versions
authored
35 h2. Version 4.0.1 "unauthorized"
29e81c3 Florian R. Hanke ! small fix for custom weight objects, + slight change to ignore_unassig...
authored
36
37 * hanke: (server) Customized @weight@ and @similarity@ do not need the @saved?@ method anymore.
38
e648226 Florian R. Hanke + named versions
authored
39 h2. Version 4.0.0 "singing in the rain"
df6d5a3 Florian R. Hanke + 4.0 :)
authored
40
41 * hanke: No changes from 4.0.0pre7.
42
9f4670d Florian R. Hanke + 4.0.0pre7
authored
43 h2. Version 4.0.0pre7
44
6610135 Florian R. Hanke + tokenizer, character substituter, source API extracted and made explic...
authored
45 * hanke: (server) BREAKING The @tokenizer@ option for a category has been renamed to @indexing@, to conform with the methods for the index and the sinatra app.
12556c2 Florian R. Hanke + history
authored
46 * hanke: (server) BREAKING Internal @Similarity#encoded@ method has been renamed to @#encode@.
ae4916d Florian R. Hanke + 4.0.0pre6
authored
47
48 h2. Version 4.0.0pre6
49
50 * hanke: (server) Similarity API fixed.
51
96ea9e2 Florian R. Hanke + more efficient log file reading, + 4.0.0pre5
authored
52 h2. Version 4.0.0pre5
53
54 * hanke: (statistics) Only use 0.01s for checking the log file instead of 0.1.
55
cf66baa Florian R. Hanke + 4.0.0pre4
authored
56 h2. Version 4.0.0pre4
57
58 * hanke: (statistics) Overhauled statistics interface. Use @picky statistics log/search.log@ to start it.
59
10df855 Florian R. Hanke + 4.0.0pre3
authored
60 h2. Version 4.0.0pre3
61
a86bb10 Florian R. Hanke ! history
authored
62 * hanke: (server) BREAKING Reverting customizeable backends from version 3.3.2. They are no longer available. Please use simple subclassing to achieve funky backends.
289bc3a Florian R. Hanke + note on realtime
authored
63 * hanke: (server) BREAKING SQLite @self_indexed@ and Redis @immediate@ option is now called @realtime@, as changes go directly through to the actual backends, in "realtime".
a86bb10 Florian R. Hanke ! history
authored
64 * hanke: (server) The @Index#source@ block is now evaluated every time an indexer runs.
65
66 h2. Version 4.0.0pre2
67
89800f1 Florian R. Hanke + history
authored
68 * hanke: (server) BREAKING Removed Picky classic application. Please use Picky e.g. in a Sinatra app.
69 * hanke: (server) BREAKING Removed Picky classic sources. Please use a source with the #each method.
5110e1a Florian R. Hanke + Renamed weights category option to weight
authored
70 * hanke: (server) BREAKING Option @weights@ for the @Picky::Index#category@ method has been renamed @weight@ to conform with the other methods.
5067fbb Florian R. Hanke + history
authored
71 * hanke: (server) BREAKING Picky does not require the text gem anymore by default. Only when you use phonetic similarity. It will tell you what it needs.
3a6773e Florian R. Hanke + history
authored
72 * hanke: (server) BREAKING Added the PICKY_ENVIRONMENT in front of the Redis key namespace to differentiate the various environments.
2769111 Florian R. Hanke + history
authored
73 * hanke: (server) BREAKING Removed @rake routes@ since only the classic server was able to provide it.
74 * hanke: (server) BREAKING Removed the classic server from the generators.
75 * hanke: (server) Explicitly uses @Yajl::Encoder#encode@ for JSON encoding.
022611d Florian R. Hanke ! In some cases, even when no similarity was defined on a category, simi...
authored
76 * hanke: (server) Fixed cases where even when no similarity was defined on a category, similar results were still found.
96e981b Florian R. Hanke + various 4.0 things
authored
77 * hanke: (server) Rake task @index@ now points to task @index:parallel@ by default. Call @rake:serial@ to index serially.
89800f1 Florian R. Hanke + history
authored
78 * hanke: (server) Indexer calls @reconnect!@ on sources that support it.
1f93eea Florian R. Hanke + history
authored
79 * hanke: (server) Location/Volumetric/Geosearch rewritten.
96e981b Florian R. Hanke + various 4.0 things
authored
80
565e58d Florian R. Hanke + 4.0.0pre1, + integration spec examples in all_in_one
authored
81 h2. Version 4.0.0pre1
79a9c0c Florian R. Hanke + history, + 4.0.0-pre1, + parallel indexing
authored
82
83 * hanke: (server) BREAKING @Picky::Indexes.index@ does not index in parallel anymore.
84 * hanke: (server) BREAKING Renamed @Picky::Indexes.index_for_tests@ to @Picky::Indexes.index@.
85 * hanke: (server) If you want to explicitly run parallel indexing programmatically, use @Picky::Indexes.index Picky::Scheduler.new(parallel: true)@ or @Picky::Indexes[:index_name].index Picky::Scheduler.new(parallel: true)@.
29f44c1 Florian R. Hanke + BREAKING changes for 4.0
authored
86 * hanke: (server) BREAKING Renamed @Picky::Wrappers::Category::ExactFirst@ to @Picky::Results::ExactFirst@. Extend instead of wrap: @index.extend Results::ExactFirst@ or @category.extend Results::ExactFirst@. If an index is extended, each category of the index will be extended.
87 * hanke: (server) BREAKING @Picky::Indexes.reload@ has been renamed to @Picky::Indexes.load@.
88 * hanke: (server) BREAKING @index.reload@ has been renamed to @index.load@.
89 * hanke: (server) BREAKING @category.reload@ has been renamed to @category.load@.
c0ee96c Florian R. Hanke - define_* methods on indexes
authored
90 * hanke: (server) BREAKING Removed all @define_...@ methods on indexes.
aec7d1e Florian R. Hanke + history
authored
91 * hanke: (generators) Fixed integration specs for the generated "all in one" server/client.
79a9c0c Florian R. Hanke + history, + 4.0.0-pre1, + parallel indexing
authored
92 * hanke: (generators) Changed method calls to adapt to above changes.
93 * hanke: (server) Using the @procrastinate@ gem to parallelize indexing.
94 * hanke: (server) Indexing call structure cleaned up. Improves performance by about 40%.
12d71e8 Florian R. Hanke + TODOs and backends check rewrite
authored
95
4c5e138 Florian R. Hanke + 3.6.16
authored
96 h2. Version 3.6.16
97
98 * hanke: (server) Semantics for terminate_early(n) are to calculate n more allocations than necessary. A n of 0 means that only exactly the number of necessary allocations for the ids is calculated.
99
b09ca88 Florian R. Hanke + 3.6.15
authored
100 h2. Version 3.6.14/15
2e628bd Florian R. Hanke + 3.6.14, ! terminate_early
authored
101
102 * hanke: (server) Fix for terminate_early with offsets in 3.6.12 (thanks niko!).
103
e2c1a36 Florian R. Hanke + 3.6.13
authored
104 h2. Version 3.6.13
105
106 * hanke: (server) Fix for exact first matching (thanks geelen!).
107
f09492b Florian R. Hanke + early termination
authored
108 h2. Version 3.6.12
109
110 * hanke: (server) @Picky::Search@ option @terminate_early(integer)@ or @terminate_early(with_extra_allocations: integer)@ introduces early termination. If in your interface you only need the ids and no total, then this is the option for you. Calling @terminate_early@ without parameters will use 0 as the default.
111 * hanke: (server) Fix for exact first matching (thanks geelen!).
112
92c4d4f Florian R. Hanke + 3.6.11
authored
113 h2. Version 3.6.11
114
115 * hanke: (server) Fix for bad performance bug introduced somewhere in 2.4.
8a9766b Florian R. Hanke + next version's history
authored
116 * hanke: (server) Backends rewritten to support realtime indexes (SQLite, Redis). Memory already supported it (needs call to @Index#build_realtime_mapping@ after loading if dumped+loaded). File backend will not support realtime index in the near future.
749473f Florian R. Hanke + 3.6.8
authored
117 * hanke: (server) Experimental, use at your own peril: Method to build the realtime index, explicitly: @Index#build_realtime_mapping@.
118
65366c1 Florian R. Hanke + 3.6.10, + moved console script content to lib
authored
119 h2. Version 3.6.10
120
121 * hanke: (generators/server) script/console command minified in the generation and moved to the server.
122
c4fe47b Florian R. Hanke + 3.6.9
authored
123 h2. Version 3.6.9
124
125 * hanke: (generators) The generated client will now use the raw JS file from Github (http://github.com/floere/picky/issues/46).
126
749473f Florian R. Hanke + 3.6.8
authored
127 h2. Version 3.6.8
128
fff7f51 Florian R. Hanke + history
authored
129 * hanke: (server) BREAKING Renamed the undocumented @Tokenizer#maximum_tokens(integer)@ to @Tokenizer#max_words(integer)@. Restricts the amount of words that the tokenizer lets through to the core search engine.
749473f Florian R. Hanke + 3.6.8
authored
130 * hanke: (server) Added @Search#max_allocations(integer)@ to restrict number of allocations that are actually calculated (to avoid combinatorial and UI explosions).
fff7f51 Florian R. Hanke + history
authored
131 * hanke: (server) Added @<<@ and @unshift@ on @Index@ and @Category@. The @unshift@ method behaves like the @add@ method when that one is called without a second parameter. Use like @index << Thing.new(1, 'some text', 'some other text')@.
edb9239 Florian R. Hanke + history with changes
authored
132 * hanke: (server) Existence of a source is only checked when really needed. Will fail hard if there is none, with a (hopefully) useful error message.
8a9766b Florian R. Hanke + next version's history
authored
133
91b716a Florian R. Hanke + 3.6.7
authored
134 h2. Version 3.6.7
135
136 * hanke: (server) Experimental #build_realtime_mapping method to rebuild the realtime mapping helper after a dump/load.
137
42cbcd7 Florian R. Hanke + 3.6.6
authored
138 h2. Version 3.6.6
139
140 * hanke: (server) Fix and regression spec for a Redis backend bug introduced in 3.6.5.
141
6395bf5 Florian R. Hanke + 3.6.5, exact first experimental version
authored
142 h2. Version 3.6.5
143
144 * hanke: (server) Exact-first wrapper for experimental purposes.
145
9daa728 Florian R. Hanke + 3.6.4, dep removal
authored
146 h2. Version 3.6.4
147
2e17d59 Florian R. Hanke + history
authored
148 * hanke: (server) Removed active record, redis, mysql dependencies from picky.gemspec.
9daa728 Florian R. Hanke + 3.6.4, dep removal
authored
149
0d936d7 Florian R. Hanke + 3.6.3
authored
150 h2. Version 3.6.3
151
152 * hanke: (server) From Redis 2.6.0 on, Picky will be around 65% faster with Redis as a backend.
153
704ebcc Florian R. Hanke + 3.6.2, ! JS bug where search for title:a resulted in line saying title...
authored
154 h2. Version 3.6.2
155
156 * hanke: (client) Fixed Javascript. See "https://github.com/floere/picky/issues/47":https://github.com/floere/picky/issues/47.
e964ce9 Florian R. Hanke + history for 3.6.2
authored
157 * hanke: (server) Weights now only saved up to the third position after the decimal point.
158 * hanke: (server) SQLite backend has been renamed from @Sqlite@ to @SQLite@.
159 * hanke: (server) Backends can be switched dynamically (use @index.backend = new_backend@). Used for performance tests.
704ebcc Florian R. Hanke + 3.6.2, ! JS bug where search for title:a resulted in line saying title...
authored
160
b46efbb Florian R. Hanke + 3.6.1
authored
161 h2. Version 3.6.1
162
163 * hanke: (server) Removed sqlite3 from gemspec to enable Heroku compatibility. Please add it in your Gemfile if you need it or simply install the gem separately.
164
c009a4c Florian R. Hanke + history for 2.6.0
authored
165 h2. Version 3.6.0
166
83834fa Florian R. Hanke + 3.6.0
authored
167 This release includes BREAKING changes. See below.
168
c009a4c Florian R. Hanke + history for 2.6.0
authored
169 * hanke: This version tries to reduce maintenance complexity and prepare for 4.0.
83834fa Florian R. Hanke + 3.6.0
authored
170 * hanke: (server) BREAKING In your code, rename any occurrences of @Indexes.reload@, @Indexes#reload@, @Index#reload@, @Category#reload@ with an equivalent @load@ method.
c009a4c Florian R. Hanke + history for 2.6.0
authored
171 * hanke: (server) Renamed @load_from_cache@ with @load@ on @Indexes@, @Index@, @Category@.
83834fa Florian R. Hanke + 3.6.0
authored
172 * hanke: (server) Removed @rake check@ and related methods with no replacement. Please tell us if you miss it.
173 * hanke: (server) Removed @Index#backup@, @Index#restore@ and related methods on @Category@ etc. with no replacements. Please tell us if you miss them.
174 * hanke: (server) Fix for the problem that @#remove(id)@ didn't remove when a different key_format than the standard one was defined (Thanks niko!).
c009a4c Florian R. Hanke + history for 2.6.0
authored
175
9fd48a6 Florian R. Hanke + 3.5.4
authored
176 h2. Version 3.5.4
177
178 * hanke: (server) Fix for using @Rack::Harakiri@ in an example project. (Ok, time for bed)
179
de939fb Florian R. Hanke + 3.5.3
authored
180 h2. Version 3.5.3
181
182 * hanke: (server) Fix for using dynamic weights and then deleting something from it.
183
a511b04 Florian R. Hanke + 3.5.2, ! delete/clear implemented on weights strategy
authored
184 h2. Version 3.5.2
185
de939fb Florian R. Hanke + 3.5.3
authored
186 * hanke: (server) Changed the way the internal backend is dumped to json or marshalled.
a511b04 Florian R. Hanke + 3.5.2, ! delete/clear implemented on weights strategy
authored
187
28e2083 Florian R. Hanke + 3.5.1
authored
188 h2. Version 3.5.1
189
83834fa Florian R. Hanke + 3.6.0
authored
190 * hanke: (server) @generate_from@ methods have been removed from all generators as they are not used anymore.
28e2083 Florian R. Hanke + 3.5.1
authored
191 * hanke: (server) Added the option of having dynamic weights calculation. Use this if you don't need weights based on the amount of indexed ids per token. This does not generate an index in the backend (Redis or file), but calculates the weight at runtime. Examples: Always return the default 0.0, @category :text, weights: Picky::Weights::Constant.new@ or always return 3.14, @category :text1, weights: Picky::Weights::Constant.new(3.14)@ or calculate a weight at runtime, based on the size of the str_or_sym we are looking for, @category :text1, weights: Picky::Weights::Dynamic.new { |str_or_sym| str_or_sym.size }@. We recommend using search boosts to boost specific category combinations.
192
a367ea9 Florian R. Hanke + only use strings internally
authored
193 h2. Version 3.5.0
194
0430bc7 Florian R. Hanke + history, ! integration specs
authored
195 * hanke: (server) Internally, tokens are held as strings. This helps dealing with memory issues when using realtime indexes. This might make Picky's memory usage a bit higher that before. However, when using realtime indexes, the memory usage will be much improved.
a367ea9 Florian R. Hanke + only use strings internally
authored
196 * hanke: (server) Complete internal rewrite of how indexing is handled.
197
6b1ef6d Florian R. Hanke + 3.4.3, + history
authored
198 h2. Version 3.4.3
199
200 * hanke: (server) Performance fix for problem introduced in 3.4.3.
201
a80ef41 Florian R. Hanke + 3.4.2, + history, thanks
authored
202 h2. Version 3.4.2
203
204 * hanke: (server) Fixed a bug where ids occurred multiple times for an indexed token in the same index bundle (thanks M. Below for finding the bug). This did not impact on the search results, just the stored index files.
205
db23549 Florian R. Hanke + history for 3.4.1
authored
206 h2. Version 3.4.1
207
208 * hanke: (server) Intermittent service release to test internal String-based indexes.
209
df9b1dd Florian R. Hanke - keep_ids option, + populate_with does not remove the ids by default, u...
authored
210 h2. Version 3.4.0
5241bc5 Florian R. Hanke + keep_ids options for Client::Convenience, + 3.3.4
authored
211
df9b1dd Florian R. Hanke - keep_ids option, + populate_with does not remove the ids by default, u...
authored
212 * hanke: (client) Method @populate_with@ keeps the ids by default. Use @clear_ids@ on the results if you want to remove them.
5241bc5 Florian R. Hanke + keep_ids options for Client::Convenience, + 3.3.4
authored
213
6ad750c Florian R. Hanke ! #38
authored
214 h2. Version 3.3.3
215
216 * hanke: (server) Fixing "issue 38":https://github.com/floere/picky/issues/38. Possibly caused by "a problem described here":http://blog.rubygems.org/2011/08/31/shaving-the-yaml-yak.html.
217
65c6c63 Florian R. Hanke + 3.3.2
authored
218 h2. Version 3.3.2
219
220 * hanke: (server) Internal interface for generators changed. The generators are now used directly, e.g.: @Picky::Generators::Partial::Substring.new(from: 1).generate_from inverted_index_hash@. No change on your part is necessary if you didn't use @Picky::Generators::{Partial,Weights,Similarity}Generator@.
221 * hanke: (server) Experimental exchangeable backend change: @Redis now passes bundle, client into the lambda, instead of client, bundle@. E.g. @inverted: ->(bundle, client) { Picky::Backends::Redis::List.new(client, "#{bundle.identifier}:inverted") }@
222
d0bb1bc Florian R. Hanke + 3.3.1
authored
223 h2. Version 3.3.1
224
225 * hanke: (server) Fix for @Partial::None@, introduced in 3.3.0.
226
3ab76be Florian R. Hanke + 3.3.0
authored
227 h2. Version 3.3.0
4428027 Florian R. Hanke + history, version update
authored
228
699518a Florian R. Hanke + Picky::Partial::Postfix partial option
authored
229 * hanke: (server) ActiveRecord is not loaded anymore by default, as only few users use the Picky db source (if you do, Picky will try to require it and tell you if it can't).
543032e Florian R. Hanke + dump note in history
authored
230 * hanke: (server) It is now possible to explicitly dump an index, using @index.dump@. This is useful with realtime indexes.
699518a Florian R. Hanke + Picky::Partial::Postfix partial option
authored
231 * hanke: (server) Added a new partial option, @Postfix@, with an option, @from@. With @from: -4@ and a word like @octopus@, will generate partials @[:octopus, :octopu, :octop, :octo]@ (until -4).
232 New default option is @Postfix.new(from: -3)@, not @Substring.new(from: -3, to: -1)@ anymore. The two options are identical in function.
233 * hanke: (server) Only Picky's tokenizers call @to_s@ on data anymore. This means that you can write tokenizers that work on whatever kind of object you like. The Picky standard tokenizers themselves ensure that they get to work with a string.
84f8fd6 Florian R. Hanke ! Substring partialization (was off by one), + Integration tests
authored
234 * hanke: (server) Fix for @Substring@ partialization, when negative @from@ and @to@ options are used at the same time.
65c6c63 Florian R. Hanke + 3.3.2
authored
235 * hanke: (server) Experimental exchangeable backends.
4428027 Florian R. Hanke + history, version update
authored
236 * hanke: (project) RSpec 1 has been updated to RSpec 2.
237
f7dd1d5 Florian R. Hanke + 3.2.0, important note
authored
238 h2. Version 3.2.0
239
83834fa Florian R. Hanke + 3.6.0
authored
240 This release includes BREAKING changes. See below.
241
dbae53b Florian R. Hanke + link to gist
authored
242 * hanke: (server) Removed bundler specific code from Picky. You can now decide yourself if you want it. Opens the possibility to just run Picky in a script to try ideas etc. (see example gist: "https://gist.github.com/1315618":https://gist.github.com/1315618)
453adf6 Florian R. Hanke .
authored
243 * hanke: (generators) The generated Sinatra server does not use bundler anymore. Classic servers (might) still need it. You can add it back in by adding the following code in @app.rb@, right after @require 'picky'@:
f7dd1d5 Florian R. Hanke + 3.2.0, important note
authored
244
98c7571 Florian R. Hanke + history code
authored
245 <pre><code>begin
246 require 'bundler'
247 rescue LoadError => e
248 require 'rubygems'
249 require 'bundler'
250 end
251 Bundler.setup PICKY_ENVIRONMENT
252 Bundler.require</code></pre>
f7dd1d5 Florian R. Hanke + 3.2.0, important note
authored
253
6fd290f Florian R. Hanke + 3.1.13
authored
254 h2. Version 3.1.13
255
256 * hanke: (generators) @picky generate@ will not display the error backtrace part anymore.
257
fba9465 Florian R. Hanke + 3.1.12
authored
258 h2. Version 3.1.12
259
260 * hanke: (server) Runtime indexing (@remove@, @add@, @replace@) now possible on a single category. Please use e.g. @index[:category_name].add some_object_with_id_and_category_name_method@.
261
80e63d4 Florian R. Hanke + 3.1.11 with realtime indexing support for similarity~
authored
262 h2. Version 3.1.11
263
264 * hanke: (server) See last release. This release adds support for similarity searches on a realtime index.
265 * Please only use realtime indexing for experimental purposes.
266
bd2acb5 Florian R. Hanke + 3.1.10
authored
267 h2. Version 3.1.10
268
269 * hanke: (server) This release holds an *experimental* release of realtime indexing for 3.2: An index now supports @#add(object_responding_to_id_and_categories)@, @#remove(id_of_added_object)@, @#replace(object_responding_to_id_and_categories)@. Replace is simply remove+add. Replacing a non-existent object behaves like an add. I suggest using solely @replace@. Notes: Only works in single-process, single-threaded servers. Does not persist. Only yet works when starting from an empty index, e.g. @source []@.
270 * Please only use realtime indexing for experimental purposes.
271
e63f527 Florian R. Hanke + 3.1.9
authored
272 h2. Version 3.1.9
273
274 * hanke: (server) Rewrite of "rake index" – Picky will only fork processes if there is the capability to fork (i.e. not Windows), or if there are more than one processor available.
275
5813fa8 Florian R. Hanke + 3.1.8
authored
276 h2. Version 3.1.8
277
e63f527 Florian R. Hanke + 3.1.9
authored
278 * hanke: (server) Possible solution to "Issue 32":http://github.com/floere/picky/issues/32. The issue is possibly related to http://redmine.ruby-lang.org/issues/5003. (Windows users, please use the next version, 3.1.9)
5813fa8 Florian R. Hanke + 3.1.8
authored
279
f07fd5c Florian R. Hanke + 3.1.7, ! scrolling of "More Results"
authored
280 h2. Version 3.1.7
281
282 * hanke: (client) Fixed scrolling after "More Results". Will scroll to the top of the newly added results, instead of to the last header of the newly added results. Get the new minified version here: "https://github.com/floere/picky/tree/master/client/javascripts":https://github.com/floere/picky/tree/master/client/javascripts.
283
c7ffbd4 Florian R. Hanke ! javascript addination and header rendering, + 3.1.6
authored
284 h2. Version 3.1.6
285
286 * hanke: (client) Javascripts fixed. Get the new minified version here: "https://github.com/floere/picky/tree/master/client/javascripts":https://github.com/floere/picky/tree/master/client/javascripts.
1355731 Florian R. Hanke + history
authored
287 * hanke: (server) Number of cores for OS Lion correctly reported.
288
d3487f3 Florian R. Hanke + Version 3.1.5: ignore_unassigned_tokens option for Search-es
authored
289 h2. Version 3.1.5
290
291 * hanke: (server) New Search block option: @ignore_unassigned_tokens(truey/falsy)@. Default is false. If true, will ignore tokens that cannot be assigned to any category. If you search for example for @"Picky Garblegarblegarble"@, and @"Garblegarblegarble"@ isn't in any index, then it will return result _as if_ @"Garblegarblegarble"@ hadn't been there. In this case, it will just return something like searchengine:"picky".
292
5bdb0a8 Florian R. Hanke + 3.1.4
authored
293 h2. Version 3.1.4
294
295 * hanke: (server) Don't fork if there's just one index to be processed.
296
297 h2. Version 3.1.3
94b207d Florian R. Hanke + 3.1.3 history
authored
298
299 * hanke: (server) Added @#ignore@ option to @Search@ definition block. Calling @ignore :name@ will ignore tokens in allocations that are mapped to the name category. Example: You search for "David Hasselhoff". If Picky maps this to allocations @[ [:first_name, name], [:first_name, :movie_title] ]@, only @[ [:first_name], [:first_name, :movie_title] ]@ will survive. The @Hasselhoff - name@ match will simply be ignored.
300
8d225be Florian R. Hanke + Version 3.1.2, with a change in the signature of the before callback i...
authored
301 h2. Version 3.1.2
302
303 * hanke: (generated client) The @before@ Javascript callback option given to the @PickyClient@ has changed signature and how it is called. Old was @before(params, query)@, and the returned params changed the params. This did not allow changing the @query@ in the callback. New is @before(query, params)@ and the returned @query@ replaces the query given as parameter. This allows changing the query before sending it off. The params can be changed as well, using @params['option'] = value;@.
304
7281648 Florian R. Hanke + 3.1.1 history
authored
305 h2. Version 3.1.1
306
307 * hanke: (server) @rake index@ does not fork anymore if there's just one index to be indexed.
308 * hanke: (server) Experimental @Picky::Partial::Infix@ partial generator. Use to find all possible substrings inside words. Options are @min@, @max@, both take negative and/or positive values. Negative values indicate length up to length - X. E.g. @min: 3, max: -1 # :hello => [:hello, :hell, :ello, :hel, :ell, :llo]@
309 * hanke: (server) Experimental @Picky::Backends::File@ file backend. Use in index definition block as follows: @backend Picky::Backends::File.new@. Use if you don't want Picky to use as much memory. Performance penalty applies.
310
08b9104 Florian R. Hanke + Version 3.1.0
authored
311 h2. Version 3.1.0
312
83834fa Florian R. Hanke + 3.6.0
authored
313 This release includes BREAKING changes. See below.
314
129b4ed Florian R. Hanke + 3.0 -> 3.1 migration notice in case of old use of Picky::Indexes
authored
315 * hanke: (server) Exchangeable backends. New index definition: @Indexes::Memory@ and @Indexes::Redis@ are now unified in @Index@. So use @index = Picky::Index.new(name)@ from now on. (See next point)
316 * hanke: (server) A new option has been added to the index, @backend@. It takes a backend instance, making the backend exchangeable. The default is the memory backend, which you do not need to set. If you want a Redis backend, use as follows: @index = Index.new(name) { backend Picky::Backends::Redis.new }@. If you want to explicitly set the memory backend: @index = Index.new(name) { backend Picky::Backends::Memory.new }@.
317 * hanke: (server) Unified tokenizers. Method @#tokenize(text)@ now returns @[ ["token", "token", "token"], ["Original", "Original", "Original"] ]@. So your own tokenizer only needs to adhere to this interface and can be passed to the index/search using the @indexing@/@searching@ method.
318 * hanke: (server) Removed tokenizer option @removes_characters_after_splitting: /some regexp/@ (without replacement).
08b9104 Florian R. Hanke + Version 3.1.0
authored
319
93d0383 Florian R. Hanke + v3.0.1 history note
authored
320 h2. Version 3.0.1
321
322 * hanke: (server) Fixed & integration tested rake tasks (Thanks rogerbraun!)
323
8b17341 Florian R. Hanke + Version 3.0
authored
324 h2. Version 3.0.0
325
83834fa Florian R. Hanke + 3.6.0
authored
326 This release includes BREAKING changes. See below. (Here we start with this style of BREAKING notation)
327
328 * hanke: (client) BREAKING Removed method @Picky::Convenience#allocations_size@. Use @#allocations.size@.
329 * hanke: (server) BREAKING Removed @Results#to_log@. @Results#to_s@ returns a log worthy string now.
8b17341 Florian R. Hanke + Version 3.0
authored
330 * See changes in pre versions for complete changelog on 3.0.
331
21c385f Florian R. Hanke + Version 3.0.0.pre5
authored
332 h2. Version 3.0.0.pre5
333
334 * hanke: (server) Renamed Picky::Result#serialize -> Picky::Result#to_hash.
335
ec0ef97 Florian R. Hanke + 3.0.0.pre4 history -> all in one client+server
authored
336 h2. Version 3.0.0.pre4
337
338 * hanke: (generators) Added an All-In-One (Client + Server) Sinatra web app. This proves useful when wishing to use Picky on Heroku.
339
e3cb031 Florian R. Hanke + v3.0.0.pre3
authored
340 h2. Version 3.0.0.pre3
341
342 * hanke: (client) Gemfile referred to version ~> 2.0 instead of = 3.0.0.pre2.
343
440b9a7 Florian R. Hanke + Version 3.0.0.pre2
authored
344 h2. Version 3.0.0.pre2
345
e3cb031 Florian R. Hanke + v3.0.0.pre3
authored
346 * hanke: (server) Breaking: Index::Memory and Index::Redis do not accept options anymore.
347
348 Define options in the block or on the resulting instances
349
350 some_index = Indexes::Memory.new(:some_name) do
351 source ...
352 key_format ...
353 category ...
354 category ...
355 category ...
356 result_identifier ...
357 end
358
359 * hanke: (server) Breaking: PickyLog removed.
360
361 In the classic server, use
362
363 Picky.logger = Logger.new 'log/search.log'
364
365 if you want to log (uses SomeLogger#info).
366
367 In the Sinatra server, use
368
369 MyLogger = Logger.new 'log/search.log'
370 ...
371 get '/path' do
372 result = ...
373 MyLogger.info result.to_log(params[:query]) if you want to log.
374 result.to_json
375 end
376
2b695ca Florian R. Hanke + New breaking changes for 3.0.0.pre2
authored
377 * hanke: (server) Breaking: app/logging.rb not loaded anymore. You have to require it yourself if you want that.
440b9a7 Florian R. Hanke + Version 3.0.0.pre2
authored
378 * hanke: (server) A missing source is only noticed when it is used (such as in indexing). This makes it possible to set a source at a later time.
379
ac4383f Florian R. Hanke + history updated
authored
380 h2. Version 3.0.0.pre1
381
8cd65d8 Florian R. Hanke + history notes, - TODO
authored
382 * hanke: (server) Note: The key_format is not saved in the index configuration anymore.
ac4383f Florian R. Hanke + history updated
authored
383 * hanke: (generator) New example server, sinatra_server. The new default, very flexible.
8cd65d8 Florian R. Hanke + history notes, - TODO
authored
384
710ab8a Florian R. Hanke + Version 2.7.0
authored
385 h2. Version 2.7.0
e687c34 Florian R. Hanke + upcoming version notes
authored
386
93ce9d1 Florian R. Hanke + formatting
authored
387 * hanke: (server) Breaking: Method @#take_snapshot@ removed from Indexes/Index/Category (not needed anymore).
71c1bec Florian R. Hanke .
authored
388 * hanke: (server) Breaking: Users need to reindex when installing this version (index "index" now identified by "inverted" to be more clear).
9d3ea58 Florian R. Hanke + Move breaking to top
authored
389 * hanke: (server) Rake tasks rewritten to be simpler and clearer. Most notably, @index:specific[index,category]@ is now just @index[index,category]@ (both optional).
9bc7614 Florian R. Hanke + history notes
authored
390 * hanke: (server) Reindexing now possible in running server, also for ActiveRecord Arel sources.
98c537f Florian R. Hanke + history notes updated
authored
391 * hanke: (server) More verbose indexing output with file locations.
392 * hanke: (server) Taking data snapshots improved.
710ab8a Florian R. Hanke + Version 2.7.0
authored
393 * hanke: (client) Fix for e.g. @picky search localhost:8080/books@ if highline gem is missing (thanks tonini!).
e687c34 Florian R. Hanke + upcoming version notes
authored
394
1c3bd5f Florian R. Hanke + Version 2.6.0: Cleaned up internal API
authored
395 h2. Version 2.6.0
396
5532681 Florian R. Hanke + more history notes
authored
397 * hanke: (server) Breaking: @Indexes#find@ method has been removed. Use @Indexes[index_name]@ and @Indexes[index_name][category_name]@.
398 * hanke: (server) Breaking: @Index#index!@, @Index#cache!@, @Category#index!@, @Category#cache!@ have been removed. Use @Indexes.index@ (combines @index!@ and @cache!@), or @Indexes[books].index@, or @Indexes[books][title].index@.
0972d4c Florian R. Hanke + testing post receive hook
authored
399 * hanke: (server) Get Indexes/Categories using the @#[]@ method. E.g. @Indexes[:books]@ to get the @:books@ index, and @Indexes[:books][:author]@ to get the @:author@ category of the @:books@ index.
be25356 Florian R. Hanke + Better history
authored
400 * hanke: (server) @Indexes@, @Indexes[:some_index]@, and @Indexes[:some_index][:some_category]@ now all support
401
402 the following methods:
403 * @#index@ (just index: prepare data and cache data)
404 * @#reload@ (just reload the cached data into the server, no effect on Redis indexes)
405 * @#reindex@ (index and reload one category after another)
406
35b4185 Florian R. Hanke + history
authored
407 Note: @#reload@ and @#reindex@ only make sense in a running server with memory indexes.
408
be25356 Florian R. Hanke + Better history
authored
409 Examples:
410 * @Indexes.index@ (index all indexes, randomly)
411 * @Indexes[:some_index].reindex@ (reindex that index)
412 * @Indexes[:some_index][:some_category].reload@ (just reload that category)
1c3bd5f Florian R. Hanke + Version 2.6.0: Cleaned up internal API
authored
413
4fd7d39 Florian R. Hanke + Version 2.5.2: Redis indexing fixed.
authored
414 h2. Version 2.5.2
415
416 * hanke: (server) Fixed: Redis indexing. Old values are now removed on reindexing.
417
d733bd9 Florian R. Hanke + Version 2.5.1
authored
418 h2. Version 2.5.1
419
420 * hanke: (server) Minor changes.
421
8cc5570 Florian R. Hanke + Version 2.5.0: Multiple qualifiers, more restrictive search.
authored
422 h2. Version 2.5.0
423
424 * hanke: (server) Searches can now search in multiple qualifiers, separating them by a ",". E.g. name,street:tyne.
425 * hanke: (server) Searches will no longer search in all categories (fields) if a qualifier has been mistyped. So, namme:peter will not search in all categories, but instead return an empty result if category namme does not exist.
426
cb6ef65 Florian R. Hanke + Version 2.4.3
authored
427 h2. Version 2.4.3
428
429 * hanke: (server) Fixed: Indexing a single category where a @#each@ source was used using @rake index:specific[index,category]@ raised an error.
430
7f84173 Florian R. Hanke + 2.4.2 history
authored
431 h2. Version 2.4.2
432
433 * hanke: (server) Live interface for picky-live gem fixed.
434
7db98c8 Florian R. Hanke + 2.4.1
authored
435 h2. Version 2.4.1
436
788fc60 Florian R. Hanke + Redis indexing fix note
authored
437 * hanke: (server) Fixes Redis indexing.
7db98c8 Florian R. Hanke + 2.4.1
authored
438 * hanke: (client) Requires activesupport (thanks stanley!).
439
9aed7d6 Florian R. Hanke + 2.4.0 history
authored
440 h2. Version 2.4.0
441
442 * hanke: (server) Added a configuration option @key_format@ for index, categories. It sets the format that this index'/category's keys are in. Use as you would with @source@, as either method in the index block, as index parameter, or category parameter.
443 * hanke: (client) The client is now finally really data driven by the server, see next changes.
444 * hanke: (client) Added two options for the @PickyClient@, @fullResults@ and @liveResults@. It designates how many results should be rendered. Defaults are for full: 20, and for live: 0.
445 * hanke: (client) The @Convenience#ids@ method now by default returns all ids returned from the server.
446 * hanke: (client) The @Convenience#populate_with@'s second param is not the amount of populated ids anymore. Instead it populates all returned ids by default. If you want less, pass in the @up_to@ option. So, e.g. @results.populate_with :up_to => 20@.
447
6fe8d3a Florian R. Hanke + 2.3.0 Integration Tests
authored
448 h2. Version 2.3.0
6db5b3e Florian R. Hanke + 2.3.0 Test-Almost-First Release (unreleased)
authored
449
6fe8d3a Florian R. Hanke + 2.3.0 Integration Tests
authored
450 * hanke: (server) Integration specs in the server are now easy. In your specs, @require 'picky-client/spec'@. Example: @it { books.search('alan').ids.should == [259, 307, 449] }@.
451 * hanke: (generators) Added integration specs that use the above tests & matchers to the generated example app.
452 * hanke: (client) Added @Picky::TestClient@ which can be used in the server for integration specs. Use @Picky::TestClient.new(YourPickyApp, :path => '/your_search_url')@, then @test_client.search('bla', :ids => 12, :offset => 0).ids.should ==== [1,3,4]@ or @test_client.search('blu bli').should have_categories(['title', 'author'], ['title', 'title'])@ to test category result combinations and order.
6db5b3e Florian R. Hanke + 2.3.0 Test-Almost-First Release (unreleased)
authored
453
61a0fc2 Florian R. Hanke + 2.2.1
authored
454 h2. Version 2.2.1
455
9a24654 Florian R. Hanke + history 2.2.1
authored
456 * hanke: (server) Very simple geo search that works best in temperate areas. If you're just looking for results that are close to yours, give it a go. Use @#geo_categories(lat, lng, radius_in_kilometers, options = {})@
61a0fc2 Florian R. Hanke + 2.2.1
authored
457
7287d74 Florian R. Hanke + API changes
authored
458 h2. Version 2.2.0
459
3202d10 Florian R. Hanke + 2.2.0 descriptions for history
authored
460 * hanke: (server) (BREAKING CHANGE) Since I prefer the block style configuration for indexes, the source is now an optional parameter. Picky will tell you if you still use the old style. New is that you can define the source of an index in the block, e.g.: @Index::Memory.new(:some_index) do source Sources::CSV.new(...) end@
461 * hanke: (server) Sources can now be anything that responds to #each and that returns objects that respond to #id. (That means you can just pass in an array, or MongoMapper or ActiveRecord's @Book.order('updated_at DESC')@ or similar)
462 * hanke: (server) The app/application.rb API has gotten a few aliases: @default_indexing@ and @default_querying@ can now be called with @indexing@ or @searching@.
463 * hanke: (server) Each index can now have its own indexing. Use e.g. @Index::Memory.new(:some_index) do indexing removes_characters: /[^a-z]/i end@.
464 * hanke: (server) Each @Search@ can now have its own "searching", e.g.: @Search.new(some_index) do searching removes_characters: /[^a-z]/i end@
73b67f5 Florian R. Hanke + performance_ratio.rb
authored
465 * hanke: (server) Added option for collaborators (on the Picky server) of setting the performance ratio if the performance specs fail too often. Just add a @spec/performance_ratio.rb@ file with the content @module Picky; PerformanceRatio = x.xx end@. Less than 1.0 is more benign, more than 1.0 is harsher.
7287d74 Florian R. Hanke + API changes
authored
466
cf05243 Florian R. Hanke + 2.1.2, rake search <url>
authored
467 h2. Version 2.1.2
468
469 * hanke: (server) Improved @rake search <url> [<result id amount>]@ with better description and error handling.
470
e2b9a33 Florian R. Hanke + 2.1.1, a simple experimental terminal interface
authored
471 h2. Version 2.1.1
472
473 * hanke: (server) @rake search <url>@, a simple experimental terminal search interface.
474
69ab0b2 Florian R. Hanke + 2.1.0
authored
475 h2. Version 2.1.0
476
9e0d678 Florian R. Hanke + explanations
authored
477 * hanke: (server) Tokenizing completely rewritten. It works now almost the same in indexing and in querying, with the exception of downcasing (or not, for case sensitive searches).
478 * hanke: (server) Indexing and querying now don't downcase anymore right at the beginning of processing, but rather after text preprocessing. For you this means that you need to use case insensitive regexps @/…/i@ in the config if you need a case sensitive search (get it?).
6b41305 Florian R. Hanke + explanation
authored
479 * hanke: (server) @default_indexing@ and @default_querying@ offer a new option, @case_sensitive@, which is by default @false@. Set it in indexing and querying to @true@ to have your search be case sensitive (usually it is a good idea to set them both to the same case sensitivity). Watch the regexp options – possibly best if you set them to case insensitive @/…/i@.
69ab0b2 Florian R. Hanke + 2.1.0
authored
480
f67983f Florian R. Hanke + version 2.0! Weheeee!
authored
481 h2. Version 2.0.0
482
483 * hanke: Let's go live, wohoo! :) See the prerelease history notes for all changes.
484
5d1cf34 Florian R. Hanke + 2.0.0.pre3
authored
485 h2. Version 2.0.0.pre3
d1bb7ee Florian R. Hanke + phonetic -> double metaphone, + double metaphone, metaphone, soundex s...
authored
486
5d1cf34 Florian R. Hanke + 2.0.0.pre3
authored
487 * hanke: (server) Renamed @Similarity::DoubleLevenshtone@ (aka @Similarity::Phonetic@) to @Similarity::DoubleMetaphone@ (BREAKING: Cannot use @Similarity::Phonetic@ anymore).
d1bb7ee Florian R. Hanke + phonetic -> double metaphone, + double metaphone, metaphone, soundex s...
authored
488 * hanke: (server) Added @Similarity::Soundex@.
489 * hanke: (server) Added @Similarity::Metaphone@.
490
c14656d Florian R. Hanke + history with 2.0.0.pre2
authored
491 h2. Version 2.0.0.pre2
492
493 * hanke: (client) Asterisks are correctly escaped before saved in the browser history.
494 * you: Give feedback, thanks! :)
495
e56e289 Florian R. Hanke + 2.0 prerelease 1, yay! :)
authored
496 h2. Version 2.0.0.pre1
8ba626c Florian R. Hanke + 2.0.0 in history
authored
497
7221ad6 Florian R. Hanke + history with link
authored
498 * hanke: New major version number – see reasons for API change: "http://florianhanke.com/blog/2011/03/16/pickys-adolescence.html":http://florianhanke.com/blog/2011/03/16/pickys-adolescence.html.
e56e289 Florian R. Hanke + 2.0 prerelease 1, yay! :)
authored
499 * hanke: (server) (Breaking change) @Query::Full@ and @Query::Live@ have been replaced by just @Search@. So what you now do is @route /something/ => Search.new(index1, index2, ..., options)@.
500 * hanke: (server) Pass in the @ids@ param to define the amount of result ids you'd like. This is how you'd do it with curl: @curl 'localhost:8080/books?query=test&ids=20'@. 20 ids is the default.
501 * hanke: (client) (Breaking change) @Picky::Client::Full@ and @Picky::Client::Live@ have been replaced by @Picky::Client@. New option: @ids@. Pass in to define the amount of @ids@ you'd like. For a live query you need none, so pass in 0. (20 is the default in the server)
502 * hanke: (generated clients) See client changes above. Replace @Picky::Client::Full@ and @Picky::Client::Live@ with just a single @Picky::Client@ instance with the same options as before (but just a single URL on the server as desribed above).
503 * hanke: (generated servers) See server changes above. Replace @Query::Full@ and @Query::Live@ instance pairs by just a single @Search@ instance.
ebb7013 Florian R. Hanke + Version 2.0.0.pre1 history
authored
504 * hanke: (client) Added @rake javascripts@, @rake update@ to the client and client project generator which copies the javascripts from the client gem into your directory. (If you have an old generated project, add @require 'picky-client/tasks'; Picky::Tasks::Javascripts.new@ in your @Rakefile@)
8ba626c Florian R. Hanke + 2.0.0 in history
authored
505
c9511e1 Florian R. Hanke + 1.5.4
authored
506 h2. Version 1.5.4
00bfad6 Florian R. Hanke + history, + 1.5.4, + not breaking the web anymore
authored
507
087189b Florian R. Hanke .
authored
508 * hanke: (client) Not breaking the web anymore ;) Using history.js instead of address.js to do away with the hash bang.
00bfad6 Florian R. Hanke + history, + 1.5.4, + not breaking the web anymore
authored
509
48a09c2 Florian R. Hanke + history 1.5.3 released
authored
510 h2. Version 1.5.3
19ac90a Florian R. Hanke + history 1.5.3
authored
511
512 * hanke: (server) @rake stats@ and @rake analyze@. Get information about your app.
513
514 h2. Version 1.5.2
fdf1076 Florian R. Hanke + 1.5.2 history
authored
515
516 * hanke: (server) When indexing from the database, the intermediary snapshot table is now called @"picky_#{index.identifier}_index"@ instead of @"#{index.identifier}_type_index"@ to be clearer that it is Picky creating these tables, and what it is. You can remove the ..._type_index tables.
1dc5aa0 Florian R. Hanke + history note
authored
517 * hanke: (server) The database source now uses mostly AR adapter methods to make it more agnostic.
fdf1076 Florian R. Hanke + 1.5.2 history
authored
518
e07cbb3 Florian R. Hanke + 1.5.1
authored
519 h2. Version 1.5.1
520
521 * hanke: (server) Picky now traverses more cleanly over your database data. (Thanks Jason Botwick!)
522
5d1cb4e Florian R. Hanke + 1.5.0 - Redis Index Backend (aka Trinacria Release).
authored
523 h2. Version 1.5.0
524
525 * hanke: (server) Redis backend.
526 * hanke: (server) The Redis backend uses db 15.
527 * hanke: (server) The mysql gem is used by default.
528
81c55d8 Florian R. Hanke + 1.4.3
authored
529 h2. Version 1.4.3
530
531 * hanke: (server) Fix for non-working picky command line interface. (Thanks Jason Botwick!)
532
808974e Florian R. Hanke + note in history
authored
533 h2. Version 1.4.2 (Redis backend prerelease)
8dff1ca Florian R. Hanke + 1.4.2
authored
534
535 * hanke: (server) Redis backend prototype.
7dc6d53 Florian R. Hanke + history
authored
536 * hanke: (server) @rake index:specific[index]@ or @rake index:specific[index,category]@ to index just a specific index or category.
537 * hanke: (server) Postgres source better handled.
8dff1ca Florian R. Hanke + 1.4.2
authored
538
6d9e54e Florian R. Hanke + 1.4.1 history
authored
539 h2. Version 1.4.1
540
541 * hanke: (client/generators) The @choices@ option is now localized. If you have generated a new Picky project with 1.4.0, please do localize your @choices@ like so: @choices:{ (formats here) }@ => @choices:{en:{ (formats here) }}@ and whatever locales you'd like to use.
542
543 h2. Version 1.4.0
b86b216 Florian R. Hanke - ned for an external timer.js script
authored
544
dc8fe36 Florian R. Hanke .
authored
545 * hanke: (client/generators) Latest Javascript PickyClient object includes the option to format the choices better, option @group: [['author', 'title', 'subjects'], ['publisher']]@ lets you group certain categories together while option @choices: { 'title': format: "<strong>%1$s</strong>", filter: function(text) { return text.toUpperCase(); }, ignoreSingle: false }@ lets you define how each combination is handled in detail. Again, hard to explain, easy to see. (see issue for details, closes "issue 9":https://github.com/floere/picky/issues/closed#issue/9)
b3f3e7e Florian R. Hanke + wrapResults option, prototype adapted
authored
546 * hanke: (client/generators) Added a @wrapResults@ options where you can define wrapper HTML bits that are wrapped around each allocation group of @<li>@ results. The default is: @wrapResults: '<ol class="results"></ol>'@.
b5388de Florian R. Hanke + history explanations
authored
547 * hanke: (client/generators) Headers are now contracted, this means no more "written by florian and written by hanke", but "written by florian hanke". (closes "issue 10":https://github.com/floere/picky/issues/closed#issue/10)
42336f9 Florian R. Hanke + 1.3.5 with split interface
authored
548 * hanke: (client) Split #interface method into => #input, #results, so that users can wrap each with custom elements. Don't forget to wrap into a div#picky.
bf2a8cd Florian R. Hanke + better explanations
authored
549 * hanke: (generators, breaking change!) Example now constricts the Picky interface width using a div.content. Please use a wrapper div to constrict div#picky.
dc8fe36 Florian R. Hanke .
authored
550 * hanke: (generators) Cleanup of Javascript code, inclusion of formerly external javascripts (@scrollTo@, @timer@, @jQuery 1.5@).
bf2a8cd Florian R. Hanke + better explanations
authored
551 * hanke: (generators, possible breaking change!) Interface HTML structure refactor. Results should now be li-s. Result groups (combinations/allocations, around the result li-s) are each inside an ol.results. Please check your CSS files if they need to be adapted to the new structure.
b5388de Florian R. Hanke + history explanations
authored
552 * hanke: (generators) Cleanup of CSS, much more flexible and specific.
b86b216 Florian R. Hanke - ned for an external timer.js script
authored
553
19f19da Florian R. Hanke + Version 1.3.4
authored
554 h2. Version 1.3.4
555
556 * hanke: (generators/client) In the generated Sinatra client, queries can be passed in through the query param q. Example: http://www.mysearch.com/?q=example
473806c Florian R. Hanke + history adapted
authored
557 * hanke: (generators/client) In the generated sinatra client, the back/forward buttons work via jquery.address plugin. Closes github issue 6.
19f19da Florian R. Hanke + Version 1.3.4
authored
558
80e4d36 Florian R. Hanke + 1.3.3, similar tokens now do not return their original text anymore
authored
559 h2. Version 1.3.3
560
561 * hanke: (server/client) Server now sends the similar word instead of the original in similarity tokens (semelor~ -> similar). Even if that means, that the original way of writing is not preserved (SEmElOr~ -> similar). We're trying to help people have good searches, so there.
562
3656f81 Florian R. Hanke + 1.3.2
authored
563 h2. Version 1.3.2
564
565 * hanke: (all) Fixed description in the "picky" command. Also now shows optional parameters more clearly.
566
3ea96de Florian R. Hanke + 1.3.1, history
authored
567 h2. Version 1.3.1
568
569 * hanke: (server) Ability to handle string/symbol keys (for future key/value store data sources).
570 * hanke: (server) Live interface uses select instead of sleep in the master process.
571
eaa13c5 Florian R. Hanke + history for 1.3.0
authored
572 h2. Version 1.3.0
cf3c63f Florian R. Hanke + 1.3.0, unreleased
authored
573
3ea96de Florian R. Hanke + 1.3.1, history
authored
574 * hanke: (server) Offers a new routing API, an interface that permits changing parameters in the running server. Use @route %r{/admin} => Live::Interface.new@.
575 * hanke: (statistics) The statistics server is now called "Clam", a chain smoking friend of Picky's.
576 * hanke: (live) A new Gem "picky-live" that offers a live interface into the Picky server, provided you have a route for it. It is called "Suckerfish", and is one of Picky's friends, too.
cf3c63f Florian R. Hanke + 1.3.0, unreleased
authored
577
5cefdd8 Florian R. Hanke + history
authored
578 h2. Version 1.2.4
b7a16a3 Florian R. Hanke + (future) history of 1.2.4
authored
579
3ea96de Florian R. Hanke + 1.3.1, history
authored
580 * hanke: (server) @default_indexing@ (in the application.rb) provides a new option @reject_token_if => some_lambda@, e.g.: @reject_token_if: lambda { |token| token.nil? || token == :hello }@ where you can define which tokens go into the index, and which do not. Default lambda is: @&:empty?@. This means that only non-empty tokens are saved in the index. You could, for example, not save tokens that have length < 2 (since they might be too small for your purposes). Note that tokens are passed into the hash as symbols.
581 * hanke: (statistics) Fixed a bug where the last line in the log file was counted once a second time after reloading the stats.
582 * hanke: (statistics) Slight interface redesign.
b7a16a3 Florian R. Hanke + (future) history of 1.2.4
authored
583
b4865ba Florian R. Hanke + version 1.2.3, fixes a bug with the "none" partial strategy
authored
584 h2. Version 1.2.3
585
3ea96de Florian R. Hanke + 1.3.1, history
authored
586 * hanke: (server) Fixed a bug where the partial strategy @Partial::None@ was not correctly used: A query like @Peter@ did not return results even if "Peter" could be found using quotes: "Peter" (FYI, double quotes force Picky to use the exact index instead of the partial one. While, conversely, the asterisk* forces Picky to use the partial index instead of the exact one).
b4865ba Florian R. Hanke + version 1.2.3, fixes a bug with the "none" partial strategy
authored
587
56c19b6 Florian R. Hanke + 1.2.2 history
authored
588 h2. Version 1.2.2
589
3ea96de Florian R. Hanke + 1.3.1, history
authored
590 * hanke: (statistics) Statistics server handles logfile reading in a cleaner way when the gem has been installed by root.
56c19b6 Florian R. Hanke + 1.2.2 history
authored
591
d710322 Florian R. Hanke + version 1.2.1 (picky stats <logfile> [port])
authored
592 h2. Version 1.2.1
593
3ea96de Florian R. Hanke + 1.3.1, history
authored
594 * hanke: (statistics) (BETA) New statistics gem for Picky. Run @picky stats path/to/your/search.log [port]@ to start a statistics server. Go to "http://localhost:4567":http://localhost:4567 after running the command to take a look.
d710322 Florian R. Hanke + version 1.2.1 (picky stats <logfile> [port])
authored
595
9419364 Florian R. Hanke + Version 1.2.0 - Client API Change
authored
596 h2. Version 1.2.0
597
3ea96de Florian R. Hanke + 1.3.1, history
authored
598 * hanke: (client) (BREAKING) Picky::Client::Base.search(:query => 'bla') has changed to Picky::Client::Base.search('bla'), as the query itself is not optional. The rest of the options is still passed in as a Hash through the second parameter.
9419364 Florian R. Hanke + Version 1.2.0 - Client API Change
authored
599
6bb6e3a Florian R. Hanke + 1.1.7 (1.2.0 pre)
authored
600 h2. Version 1.1.7 (1.2.0 pre)
601
3ea96de Florian R. Hanke + 1.3.1, history
authored
602 * hanke: (server) Redefined API for 1.1.6 beta feature, ranged search.
603 * hanke: (documentation) API for #define_ranged_category.
6bb6e3a Florian R. Hanke + 1.1.7 (1.2.0 pre)
authored
604
94d473b Florian R. Hanke + 1.1.6
authored
605 h2. Version 1.1.6
606
3ea96de Florian R. Hanke + 1.3.1, history
authored
607 * hanke: (server) Enabled beta feature "low/high limited range search", see "API RDoc":http://floere.github.com/picky/doc/index.html (IndexAPI class).
94d473b Florian R. Hanke + 1.1.6
authored
608
d678f6b Florian R. Hanke + version 1.1.5
authored
609 h2. Version 1.1.5
610
3ea96de Florian R. Hanke + 1.3.1, history
authored
611 * hanke: (server) Passing in a similarity search (e.g. with text "hello") will never return "hello" as a similar token.
d678f6b Florian R. Hanke + version 1.1.5
authored
612
fc51146 Florian R. Hanke + 1.1.4 in history
authored
613 h2. Version 1.1.4
614
3ea96de Florian R. Hanke + 1.3.1, history
authored
615 * hanke: (generators) Removed unnecessary jquery-1.3.2 from client, since it wasn't referenced anyway.
fc51146 Florian R. Hanke + 1.1.4 in history
authored
616
d01aebf Florian R. Hanke + 1.1.3
authored
617 h2. Version 1.1.3
618
3ea96de Florian R. Hanke + 1.3.1, history
authored
619 * hanke: (server) The CouchDB source now uses a little trick/hack to make its ids work in Picky. They are translated into decimal numbers from its hex string representations. Recalculate using #to_s(16) before getting objects from CouchDB in a webapp.
d01aebf Florian R. Hanke + 1.1.3
authored
620
d99b47b Florian R. Hanke + Described version 1.1.2
authored
621 h2. Version 1.1.2
622
3ea96de Florian R. Hanke + 1.3.1, history
authored
623 * hanke: (generators) Added generator for empty unicorn projects, use @picky generate empty_unicorn_project <project_name>@ to generate one.
d99b47b Florian R. Hanke + Described version 1.1.2
authored
624
b4ae092 Florian R. Hanke + 1.1.1, + history 1.1.1
authored
625 h2. Version 1.1.1
626
3ea96de Florian R. Hanke + 1.3.1, history
authored
627 * hanke: (server and client) Removed generator projects that have been moved to picky-generators. Gems now much smaller :)
b4ae092 Florian R. Hanke + 1.1.1, + history 1.1.1
authored
628
6c9626a Florian R. Hanke + Version 1.1.0
authored
629 h2. Version 1.1.0
630
3ea96de Florian R. Hanke + 1.3.1, history
authored
631 * hanke: (server and client) Generators extracted into picky-generators gem.
632 * hanke: (generators) Generators and example projects for both server and client.
6c9626a Florian R. Hanke + Version 1.1.0
authored
633
e84ea8d Florian R. Hanke + 1.0.0, oh yeah.
authored
634 h2. Version 1.0.0
635
3ea96de Florian R. Hanke + 1.3.1, history
authored
636 * hanke: Lots of "API RDoc":http://floere.github.com/picky/doc/index.html.
637 * hanke: Yaaaay! Finally :)
e84ea8d Florian R. Hanke + 1.0.0, oh yeah.
authored
638
21ef987 Florian R. Hanke + 0.12.3
authored
639 h2. Version 0.12.3 (1.0.0 pre4)
640
3ea96de Florian R. Hanke + 1.3.1, history
authored
641 * hanke: (server) Fixed cased file name (led to problems under Linux, thanks Bernd Schoeller)
21ef987 Florian R. Hanke + 0.12.3
authored
642
875ddf9 Florian R. Hanke + history -> 0.12.2
authored
643 h2. Version 0.12.2 (1.0.0 pre3)
644
3ea96de Florian R. Hanke + 1.3.1, history
authored
645 * hanke: (server) New :from option. Assume you have a source @Sources::CSV.new(:title, file:'some_file.csv')@ but you want the category to be called differently. Use the from option as follows: @define_category(:similar_title, :from => :title)@.
646 * hanke: (server) CSV source uses @FasterCSV@, passing through all its options (@col_sep@, @row_sep@ et cetera).
647 * hanke: (server) More understandable output for rake try, rake try:index, rake try:query.
875ddf9 Florian R. Hanke + history -> 0.12.2
authored
648
d0d4844 Florian R. Hanke + history -> 0.12.1
authored
649 h2. Version 0.12.1 (1.0.0 pre2)
650
3ea96de Florian R. Hanke + 1.3.1, history
authored
651 * hanke: (server) Fixed a bug where the default qualifier definition (like the author in the query author:tolkien) for categories were ignored.
d0d4844 Florian R. Hanke + history -> 0.12.1
authored
652
653 h2. Version 0.12.0 (1.0.0 pre1)
7b4d745 Florian R. Hanke + history -> 0.12.0
authored
654
3ea96de Florian R. Hanke + 1.3.1, history
authored
655 * hanke: (server) API change in application.rb: Use #define_category instead of #category on an index. (category still possible, but deprecated)
656 * hanke: (server) Internal rewrite.
7b4d745 Florian R. Hanke + history -> 0.12.0
authored
657
fea7993 Florian R. Hanke + index checking
authored
658 h2. Version 0.11.2
659
3ea96de Florian R. Hanke + 1.3.1, history
authored
660 * hanke: (server) Rake task index:check will check if all necessary index files are generated. (Nice to use before restarting.)
fea7993 Florian R. Hanke + index checking
authored
661
503cb75 Florian R. Hanke + CHANGELOGs merged in History.textile
authored
662 h2. Version 0.11.1
663
3ea96de Florian R. Hanke + 1.3.1, history
authored
664 * hanke: (server) Better error reporting in Rake tasks. Task naming improved.
665 * hanke: (server) Internal cleanup.
503cb75 Florian R. Hanke + CHANGELOGs merged in History.textile
authored
666
170c4c7 Florian R. Hanke + -> 0.11.0
authored
667 h2. Version 0.11.0
668
3ea96de Florian R. Hanke + 1.3.1, history
authored
669 * hanke: (server) Major API and internals rewrite. See generated project for help.
170c4c7 Florian R. Hanke + -> 0.11.0
authored
670
624a009 Samuel Tonini + create History file for releases
tonini authored
671 h2. Version 0.10.5
672
3ea96de Florian R. Hanke + 1.3.1, history
authored
673 * hanke: (server) Source CouchDB added (thanks to github.com/stanley).
624a009 Samuel Tonini + create History file for releases
tonini authored
674
675 h2. Version 0.10.4
676
3ea96de Florian R. Hanke + 1.3.1, history
authored
677 * hanke: (server) Typo fixed (thanks to github.com/stanley).
624a009 Samuel Tonini + create History file for releases
tonini authored
678
679 h2. Version 0.10.3
680
3ea96de Florian R. Hanke + 1.3.1, history
authored
681 * hanke: (client) Helpful configuration page in the client at /configure.
624a009 Samuel Tonini + create History file for releases
tonini authored
682
683 h2. Version 0.10.2
684
3ea96de Florian R. Hanke + 1.3.1, history
authored
685 * hanke: (server) Phonetic similarity (e.g. lyterature~) available through Similarity::Phonetic.new(4), see example.
624a009 Samuel Tonini + create History file for releases
tonini authored
686
687 h2. Version 0.10.1
688
3ea96de Florian R. Hanke + 1.3.1, history
authored
689 * hanke: (server) :weights option for queries also ok in the form: { [:cat1, :cat2] => 4 }, where 4 is any weight.
624a009 Samuel Tonini + create History file for releases
tonini authored
690
691 h2. Version 0.10.0
692
3ea96de Florian R. Hanke + 1.3.1, history
authored
693 * hanke: (server) (BREAKING) Total rewrite/exploration of the Application API.
624a009 Samuel Tonini + create History file for releases
tonini authored
694 Stay on 0.9.4 if you don't want to update right now.
3ea96de Florian R. Hanke + 1.3.1, history
authored
695 * hanke: (server) Character substitution now configurable. Default is no character substitution.
624a009 Samuel Tonini + create History file for releases
tonini authored
696
697 h2. Version 0.9.4
698
3ea96de Florian R. Hanke + 1.3.1, history
authored
699 * hanke: (server) rake routes: Shows all current URL paths, and if they are processable fast.
624a009 Samuel Tonini + create History file for releases
tonini authored
700
701 h2. Version 0.9.3
702
3ea96de Florian R. Hanke + 1.3.1, history
authored
703 * hanke: (server) Fixed: Querying parameters are not ignored anymore.
624a009 Samuel Tonini + create History file for releases
tonini authored
704
705 h2. Version 0.9.2
706
3ea96de Florian R. Hanke + 1.3.1, history
authored
707 * hanke: (client) Fixed result_hash.entries to return the right amount of entries.
708 * hanke: (client) The result_hash#entries now takes a block and replaces the e.g. AR instances with e.g rendered results.
709 * hanke: (client) Locale handling fixed. Uses the locale of the HTML tag by default.
624a009 Samuel Tonini + create History file for releases
tonini authored
710
711 h2. Version 0.9.1
712
3ea96de Florian R. Hanke + 1.3.1, history
authored
713 * hanke: (server) Delicious missing gem notice if www-delicious gem is missing.
714 * hanke: (server)Partial::Subtoken renamed to Partial::Substring.
624a009 Samuel Tonini + create History file for releases
tonini authored
715 Options: down_to -> from, starting_at -> to
3ea96de Florian R. Hanke + 1.3.1, history
authored
716 * hanke: (server) Index bundle file handling extracted into specific Index::Files backend.
624a009 Samuel Tonini + create History file for releases
tonini authored
717
718 h2. Version 0.9.0
719
3ea96de Florian R. Hanke + 1.3.1, history
authored
720 * hanke: (server/client) Jump to 0.9.0 to work on API, release 1.0.0 soon.
721 * hanke: (server) Partial indexing now only down to -3, e.g. florian -> partial: floria, flori, flor.
624a009 Samuel Tonini + create History file for releases
tonini authored
722 If you want down_to the first character (florian, floria, flori, flor, flo, fl, f), use:
723 field(:some_field_name, :partial => Partial::Subtoken.new(:down_to => 1))
3ea96de Florian R. Hanke + 1.3.1, history
authored
724 * hanke: (server) Sources::Delicious.new(user, pass) for indexing your delicious posts.
725 * hanke: (server) indexing and querying config now done on tokenizer instances.
624a009 Samuel Tonini + create History file for releases
tonini authored
726
727 h2. Version 0.3.1
728
3ea96de Florian R. Hanke + 1.3.1, history
authored
729 * hanke: (server) Generator gives more informative NoGeneratorError message.
624a009 Samuel Tonini + create History file for releases
tonini authored
730
731 h2. Version 0.3.0
732
3ea96de Florian R. Hanke + 1.3.1, history
authored
733 * hanke: (server) Uses json (index, index weights) and marshal (similarity index) to dump indexes.
734 * hanke: (server) Generator is more helpful (thanks to github.com/kschiess)
735 * hanke: (server) Generator for a Sinatra project. (picky-client sinatra project_name <- Note: Changed to picky generate sinatra_client project_name)
736 * hanke: (client) Helpful generator. (thanks to github.com/kschiess)
624a009 Samuel Tonini + create History file for releases
tonini authored
737
738 h2. Version 0.2.4
739
3ea96de Florian R. Hanke + 1.3.1, history
authored
740 * hanke: (server) Indexing output, output in general cleaned up.
741 * hanke: (server) Better info after generating a new project (thanks kschiess).
742 * hanke: (server) Indexer now uses json for the dump files (much faster, slightly larger, thanks to github.com/niko).
743 * hanke: (client) JS files rewritten.
624a009 Samuel Tonini + create History file for releases
tonini authored
744
745 h2. Version 0.2.3
746
3ea96de Florian R. Hanke + 1.3.1, history
authored
747 * hanke: (server) Explicit index buffering: Indexer hits filesystem only seldomly.
748 * hanke: (server) Internal rename from full index to exact index (visible in index filenames).
749 * hanke: (server) Solr Indexing removed until someone needs it. Then we'll talk cash. Just kidding.
750 * hanke: (server) Improved Gemfile.
624a009 Samuel Tonini + create History file for releases
tonini authored
751
752 h2. Version 0.2.2
753
3ea96de Florian R. Hanke + 1.3.1, history
authored
754 * hanke: (server) Umlaut handling (i.e. character substitution) now pluggable.
755 * hanke: (server) Apps finalization now handled through Ruby callback (thanks to github.com/severin).
624a009 Samuel Tonini + create History file for releases
tonini authored
756
757 h2. Version 0.2.1
758
3ea96de Florian R. Hanke + 1.3.1, history
authored
759 * hanke: (server) Fix for negative partial index values (:partial => Partial::Subtoken.new(:down_to => -3))
624a009 Samuel Tonini + create History file for releases
tonini authored
760
761 h2. Version 0.2.0
762
3ea96de Florian R. Hanke + 1.3.1, history
authored
763 * hanke: (server) Only uses JSON to encode results.
764 * hanke: (client) Only uses JSON for full and partial queries.
624a009 Samuel Tonini + create History file for releases
tonini authored
765
766 h2. Version 0.1.0
767
3ea96de Florian R. Hanke + 1.3.1, history
authored
768 * hanke: (server) Application interface rewrite. See a freshly created
99967d3 Florian R. Hanke + adapted doc from picky-generate to picky generate
authored
769 project (using picky project <name> <- Note: Renamed picky generate unicorn_server <name>).
624a009 Samuel Tonini + create History file for releases
tonini authored
770 Application#add_index.
771
772 h2. Version 0.0.9
773
3ea96de Florian R. Hanke + 1.3.1, history
authored
774 * hanke: (client) Cleanup. Frontend example.
624a009 Samuel Tonini + create History file for releases
tonini authored
775
776 h2. Version 0.0.8
777
3ea96de Florian R. Hanke + 1.3.1, history
authored
778 * hanke: (server) Application#add_index instead of Application#type.
779 * hanke: (server) Simplified scaffolding.
624a009 Samuel Tonini + create History file for releases
tonini authored
780
781 h2. Version 0.0.7
782
3ea96de Florian R. Hanke + 1.3.1, history
authored
783 * hanke: (server) Gem compiles on install. Do not compile on run.
624a009 Samuel Tonini + create History file for releases
tonini authored
784
785 h2. Version 0.0.6
786
3ea96de Florian R. Hanke + 1.3.1, history
authored
787 * hanke: (server) Removed unnecessary gem dependencies (thanks to niko).
788 * hanke: (server) Added CSV to the possible Sources. Sources::CSV.new(:title, :author, :isbn, :file => 'data/books.csv'),
789 * hanke: (server) Renamed all instances of SEARCH_* constants to PICKY_*. (Uses RACK_ENV)
624a009 Samuel Tonini + create History file for releases
tonini authored
790
791 h2. Version 0.0.5
792
3ea96de Florian R. Hanke + 1.3.1, history
authored
793 * hanke: (server) config.ru, unicorn.ru now top level in newly created project (more standard).
794 * hanke: (server) Port now defined in unicorn.ru (use listen 'host:port').
795 * hanke: (client) Enriched callbacks in the JS interface definition (before, success, after).
624a009 Samuel Tonini + create History file for releases
tonini authored
796
797 h2. Version 0.0.4
798
3ea96de Florian R. Hanke + 1.3.1, history
authored
799 * hanke: (client) Interface now created using Picky::Helper.interface or .cached_interface (if you only have a single language in your app).
624a009 Samuel Tonini + create History file for releases
tonini authored
800
801 h2. Version 0.0.3
802
3ea96de Florian R. Hanke + 1.3.1, history
authored
803 * hanke: (server) C-Code cleaned up, removed warnings.
624a009 Samuel Tonini + create History file for releases
tonini authored
804
805 h2. Version 0.0.2
806
3ea96de Florian R. Hanke + 1.3.1, history
authored
807 * hanke: (server) Newly created application better documented.
624a009 Samuel Tonini + create History file for releases
tonini authored
808
809 h2. Version 0.0.1
810
3ea96de Florian R. Hanke + 1.3.1, history
authored
811 * hanke: (server/client) Initial project. Server (picky) and basic frontend client (picky-client) available.
Something went wrong with that request. Please try again.