Skip to content

HTTPS clone URL

Subversion checkout URL

You can clone with HTTPS or Subversion.

Download ZIP
Newer
Older
100644 763 lines (469 sloc) 44.14 kb
8cd65d8 @floere + history notes, - TODO
authored
1 h2. Upcoming Version
2
96ea9e2 @floere + more efficient log file reading, + 4.0.0pre5
authored
3 h2. Version 4.0.0pre5
4
5 * hanke: (statistics) Only use 0.01s for checking the log file instead of 0.1.
6
cf66baa @floere + 4.0.0pre4
authored
7 h2. Version 4.0.0pre4
8
9 * hanke: (statistics) Overhauled statistics interface. Use @picky statistics log/search.log@ to start it.
10
10df855 @floere + 4.0.0pre3
authored
11 h2. Version 4.0.0pre3
12
a86bb10 @floere ! history
authored
13 * 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 @floere + note on realtime
authored
14 * 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 @floere ! history
authored
15 * hanke: (server) The @Index#source@ block is now evaluated every time an indexer runs.
16
17 h2. Version 4.0.0pre2
18
89800f1 @floere + history
authored
19 * hanke: (server) BREAKING Removed Picky classic application. Please use Picky e.g. in a Sinatra app.
20 * hanke: (server) BREAKING Removed Picky classic sources. Please use a source with the #each method.
5110e1a @floere + Renamed weights category option to weight
authored
21 * hanke: (server) BREAKING Option @weights@ for the @Picky::Index#category@ method has been renamed @weight@ to conform with the other methods.
5067fbb @floere + history
authored
22 * 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 @floere + history
authored
23 * hanke: (server) BREAKING Added the PICKY_ENVIRONMENT in front of the Redis key namespace to differentiate the various environments.
2769111 @floere + history
authored
24 * hanke: (server) BREAKING Removed @rake routes@ since only the classic server was able to provide it.
25 * hanke: (server) BREAKING Removed the classic server from the generators.
26 * hanke: (server) Explicitly uses @Yajl::Encoder#encode@ for JSON encoding.
022611d @floere ! In some cases, even when no similarity was defined on a category, simi...
authored
27 * hanke: (server) Fixed cases where even when no similarity was defined on a category, similar results were still found.
96e981b @floere + various 4.0 things
authored
28 * hanke: (server) Rake task @index@ now points to task @index:parallel@ by default. Call @rake:serial@ to index serially.
89800f1 @floere + history
authored
29 * hanke: (server) Indexer calls @reconnect!@ on sources that support it.
1f93eea @floere + history
authored
30 * hanke: (server) Location/Volumetric/Geosearch rewritten.
96e981b @floere + various 4.0 things
authored
31
565e58d @floere + 4.0.0pre1, + integration spec examples in all_in_one
authored
32 h2. Version 4.0.0pre1
79a9c0c @floere + history, + 4.0.0-pre1, + parallel indexing
authored
33
34 * hanke: (server) BREAKING @Picky::Indexes.index@ does not index in parallel anymore.
35 * hanke: (server) BREAKING Renamed @Picky::Indexes.index_for_tests@ to @Picky::Indexes.index@.
36 * 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 @floere + BREAKING changes for 4.0
authored
37 * 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.
38 * hanke: (server) BREAKING @Picky::Indexes.reload@ has been renamed to @Picky::Indexes.load@.
39 * hanke: (server) BREAKING @index.reload@ has been renamed to @index.load@.
40 * hanke: (server) BREAKING @category.reload@ has been renamed to @category.load@.
c0ee96c @floere - define_* methods on indexes
authored
41 * hanke: (server) BREAKING Removed all @define_...@ methods on indexes.
aec7d1e @floere + history
authored
42 * hanke: (generators) Fixed integration specs for the generated "all in one" server/client.
79a9c0c @floere + history, + 4.0.0-pre1, + parallel indexing
authored
43 * hanke: (generators) Changed method calls to adapt to above changes.
44 * hanke: (server) Using the @procrastinate@ gem to parallelize indexing.
45 * hanke: (server) Indexing call structure cleaned up. Improves performance by about 40%.
12d71e8 @floere + TODOs and backends check rewrite
authored
46
4c5e138 @floere + 3.6.16
authored
47 h2. Version 3.6.16
48
49 * 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.
50
b09ca88 @floere + 3.6.15
authored
51 h2. Version 3.6.14/15
2e628bd @floere + 3.6.14, ! terminate_early
authored
52
53 * hanke: (server) Fix for terminate_early with offsets in 3.6.12 (thanks niko!).
54
e2c1a36 @floere + 3.6.13
authored
55 h2. Version 3.6.13
56
57 * hanke: (server) Fix for exact first matching (thanks geelen!).
58
f09492b @floere + early termination
authored
59 h2. Version 3.6.12
60
61 * 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.
62 * hanke: (server) Fix for exact first matching (thanks geelen!).
63
92c4d4f @floere + 3.6.11
authored
64 h2. Version 3.6.11
65
66 * hanke: (server) Fix for bad performance bug introduced somewhere in 2.4.
8a9766b @floere + next version's history
authored
67 * 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 @floere + 3.6.8
authored
68 * hanke: (server) Experimental, use at your own peril: Method to build the realtime index, explicitly: @Index#build_realtime_mapping@.
69
65366c1 @floere + 3.6.10, + moved console script content to lib
authored
70 h2. Version 3.6.10
71
72 * hanke: (generators/server) script/console command minified in the generation and moved to the server.
73
c4fe47b @floere + 3.6.9
authored
74 h2. Version 3.6.9
75
76 * hanke: (generators) The generated client will now use the raw JS file from Github (http://github.com/floere/picky/issues/46).
77
749473f @floere + 3.6.8
authored
78 h2. Version 3.6.8
79
fff7f51 @floere + history
authored
80 * 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 @floere + 3.6.8
authored
81 * hanke: (server) Added @Search#max_allocations(integer)@ to restrict number of allocations that are actually calculated (to avoid combinatorial and UI explosions).
fff7f51 @floere + history
authored
82 * 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 @floere + history with changes
authored
83 * 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 @floere + next version's history
authored
84
91b716a @floere + 3.6.7
authored
85 h2. Version 3.6.7
86
87 * hanke: (server) Experimental #build_realtime_mapping method to rebuild the realtime mapping helper after a dump/load.
88
42cbcd7 @floere + 3.6.6
authored
89 h2. Version 3.6.6
90
91 * hanke: (server) Fix and regression spec for a Redis backend bug introduced in 3.6.5.
92
6395bf5 @floere + 3.6.5, exact first experimental version
authored
93 h2. Version 3.6.5
94
95 * hanke: (server) Exact-first wrapper for experimental purposes.
96
9daa728 @floere + 3.6.4, dep removal
authored
97 h2. Version 3.6.4
98
2e17d59 @floere + history
authored
99 * hanke: (server) Removed active record, redis, mysql dependencies from picky.gemspec.
9daa728 @floere + 3.6.4, dep removal
authored
100
0d936d7 @floere + 3.6.3
authored
101 h2. Version 3.6.3
102
103 * hanke: (server) From Redis 2.6.0 on, Picky will be around 65% faster with Redis as a backend.
104
704ebcc @floere + 3.6.2, ! JS bug where search for title:a resulted in line saying title...
authored
105 h2. Version 3.6.2
106
107 * hanke: (client) Fixed Javascript. See "https://github.com/floere/picky/issues/47":https://github.com/floere/picky/issues/47.
e964ce9 @floere + history for 3.6.2
authored
108 * hanke: (server) Weights now only saved up to the third position after the decimal point.
109 * hanke: (server) SQLite backend has been renamed from @Sqlite@ to @SQLite@.
110 * hanke: (server) Backends can be switched dynamically (use @index.backend = new_backend@). Used for performance tests.
704ebcc @floere + 3.6.2, ! JS bug where search for title:a resulted in line saying title...
authored
111
b46efbb @floere + 3.6.1
authored
112 h2. Version 3.6.1
113
114 * 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.
115
c009a4c @floere + history for 2.6.0
authored
116 h2. Version 3.6.0
117
83834fa @floere + 3.6.0
authored
118 This release includes BREAKING changes. See below.
119
c009a4c @floere + history for 2.6.0
authored
120 * hanke: This version tries to reduce maintenance complexity and prepare for 4.0.
83834fa @floere + 3.6.0
authored
121 * hanke: (server) BREAKING In your code, rename any occurrences of @Indexes.reload@, @Indexes#reload@, @Index#reload@, @Category#reload@ with an equivalent @load@ method.
c009a4c @floere + history for 2.6.0
authored
122 * hanke: (server) Renamed @load_from_cache@ with @load@ on @Indexes@, @Index@, @Category@.
83834fa @floere + 3.6.0
authored
123 * hanke: (server) Removed @rake check@ and related methods with no replacement. Please tell us if you miss it.
124 * hanke: (server) Removed @Index#backup@, @Index#restore@ and related methods on @Category@ etc. with no replacements. Please tell us if you miss them.
125 * 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 @floere + history for 2.6.0
authored
126
9fd48a6 @floere + 3.5.4
authored
127 h2. Version 3.5.4
128
129 * hanke: (server) Fix for using @Rack::Harakiri@ in an example project. (Ok, time for bed)
130
de939fb @floere + 3.5.3
authored
131 h2. Version 3.5.3
132
133 * hanke: (server) Fix for using dynamic weights and then deleting something from it.
134
a511b04 @floere + 3.5.2, ! delete/clear implemented on weights strategy
authored
135 h2. Version 3.5.2
136
de939fb @floere + 3.5.3
authored
137 * hanke: (server) Changed the way the internal backend is dumped to json or marshalled.
a511b04 @floere + 3.5.2, ! delete/clear implemented on weights strategy
authored
138
28e2083 @floere + 3.5.1
authored
139 h2. Version 3.5.1
140
83834fa @floere + 3.6.0
authored
141 * hanke: (server) @generate_from@ methods have been removed from all generators as they are not used anymore.
28e2083 @floere + 3.5.1
authored
142 * 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.
143
a367ea9 @floere + only use strings internally
authored
144 h2. Version 3.5.0
145
0430bc7 @floere + history, ! integration specs
authored
146 * 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 @floere + only use strings internally
authored
147 * hanke: (server) Complete internal rewrite of how indexing is handled.
148
6b1ef6d @floere + 3.4.3, + history
authored
149 h2. Version 3.4.3
150
151 * hanke: (server) Performance fix for problem introduced in 3.4.3.
152
a80ef41 @floere + 3.4.2, + history, thanks
authored
153 h2. Version 3.4.2
154
155 * 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.
156
db23549 @floere + history for 3.4.1
authored
157 h2. Version 3.4.1
158
159 * hanke: (server) Intermittent service release to test internal String-based indexes.
160
df9b1dd @floere - keep_ids option, + populate_with does not remove the ids by default, u...
authored
161 h2. Version 3.4.0
5241bc5 @floere + keep_ids options for Client::Convenience, + 3.3.4
authored
162
df9b1dd @floere - keep_ids option, + populate_with does not remove the ids by default, u...
authored
163 * hanke: (client) Method @populate_with@ keeps the ids by default. Use @clear_ids@ on the results if you want to remove them.
5241bc5 @floere + keep_ids options for Client::Convenience, + 3.3.4
authored
164
6ad750c @floere ! #38
authored
165 h2. Version 3.3.3
166
167 * 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.
168
65c6c63 @floere + 3.3.2
authored
169 h2. Version 3.3.2
170
171 * 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@.
172 * 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") }@
173
d0bb1bc @floere + 3.3.1
authored
174 h2. Version 3.3.1
175
176 * hanke: (server) Fix for @Partial::None@, introduced in 3.3.0.
177
3ab76be @floere + 3.3.0
authored
178 h2. Version 3.3.0
4428027 @floere + history, version update
authored
179
699518a @floere + Picky::Partial::Postfix partial option
authored
180 * 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 @floere + dump note in history
authored
181 * hanke: (server) It is now possible to explicitly dump an index, using @index.dump@. This is useful with realtime indexes.
699518a @floere + Picky::Partial::Postfix partial option
authored
182 * 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).
183 New default option is @Postfix.new(from: -3)@, not @Substring.new(from: -3, to: -1)@ anymore. The two options are identical in function.
184 * 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 @floere ! Substring partialization (was off by one), + Integration tests
authored
185 * hanke: (server) Fix for @Substring@ partialization, when negative @from@ and @to@ options are used at the same time.
65c6c63 @floere + 3.3.2
authored
186 * hanke: (server) Experimental exchangeable backends.
4428027 @floere + history, version update
authored
187 * hanke: (project) RSpec 1 has been updated to RSpec 2.
188
f7dd1d5 @floere + 3.2.0, important note
authored
189 h2. Version 3.2.0
190
83834fa @floere + 3.6.0
authored
191 This release includes BREAKING changes. See below.
192
dbae53b @floere + link to gist
authored
193 * 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 @floere .
authored
194 * 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 @floere + 3.2.0, important note
authored
195
98c7571 @floere + history code
authored
196 <pre><code>begin
197 require 'bundler'
198 rescue LoadError => e
199 require 'rubygems'
200 require 'bundler'
201 end
202 Bundler.setup PICKY_ENVIRONMENT
203 Bundler.require</code></pre>
f7dd1d5 @floere + 3.2.0, important note
authored
204
6fd290f @floere + 3.1.13
authored
205 h2. Version 3.1.13
206
207 * hanke: (generators) @picky generate@ will not display the error backtrace part anymore.
208
fba9465 @floere + 3.1.12
authored
209 h2. Version 3.1.12
210
211 * 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@.
212
80e63d4 @floere + 3.1.11 with realtime indexing support for similarity~
authored
213 h2. Version 3.1.11
214
215 * hanke: (server) See last release. This release adds support for similarity searches on a realtime index.
216 * Please only use realtime indexing for experimental purposes.
217
bd2acb5 @floere + 3.1.10
authored
218 h2. Version 3.1.10
219
220 * 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 []@.
221 * Please only use realtime indexing for experimental purposes.
222
e63f527 @floere + 3.1.9
authored
223 h2. Version 3.1.9
224
225 * 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.
226
5813fa8 @floere + 3.1.8
authored
227 h2. Version 3.1.8
228
e63f527 @floere + 3.1.9
authored
229 * 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 @floere + 3.1.8
authored
230
f07fd5c @floere + 3.1.7, ! scrolling of "More Results"
authored
231 h2. Version 3.1.7
232
233 * 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.
234
c7ffbd4 @floere ! javascript addination and header rendering, + 3.1.6
authored
235 h2. Version 3.1.6
236
237 * 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 @floere + history
authored
238 * hanke: (server) Number of cores for OS Lion correctly reported.
239
d3487f3 @floere + Version 3.1.5: ignore_unassigned_tokens option for Search-es
authored
240 h2. Version 3.1.5
241
242 * 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".
243
5bdb0a8 @floere + 3.1.4
authored
244 h2. Version 3.1.4
245
246 * hanke: (server) Don't fork if there's just one index to be processed.
247
248 h2. Version 3.1.3
94b207d @floere + 3.1.3 history
authored
249
250 * 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.
251
8d225be @floere + Version 3.1.2, with a change in the signature of the before callback i...
authored
252 h2. Version 3.1.2
253
254 * 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;@.
255
7281648 @floere + 3.1.1 history
authored
256 h2. Version 3.1.1
257
258 * hanke: (server) @rake index@ does not fork anymore if there's just one index to be indexed.
259 * 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]@
260 * 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.
261
08b9104 @floere + Version 3.1.0
authored
262 h2. Version 3.1.0
263
83834fa @floere + 3.6.0
authored
264 This release includes BREAKING changes. See below.
265
129b4ed @floere + 3.0 -> 3.1 migration notice in case of old use of Picky::Indexes
authored
266 * 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)
267 * 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 }@.
268 * 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.
269 * hanke: (server) Removed tokenizer option @removes_characters_after_splitting: /some regexp/@ (without replacement).
08b9104 @floere + Version 3.1.0
authored
270
93d0383 @floere + v3.0.1 history note
authored
271 h2. Version 3.0.1
272
273 * hanke: (server) Fixed & integration tested rake tasks (Thanks rogerbraun!)
274
8b17341 @floere + Version 3.0
authored
275 h2. Version 3.0.0
276
83834fa @floere + 3.6.0
authored
277 This release includes BREAKING changes. See below. (Here we start with this style of BREAKING notation)
278
279 * hanke: (client) BREAKING Removed method @Picky::Convenience#allocations_size@. Use @#allocations.size@.
280 * hanke: (server) BREAKING Removed @Results#to_log@. @Results#to_s@ returns a log worthy string now.
8b17341 @floere + Version 3.0
authored
281 * See changes in pre versions for complete changelog on 3.0.
282
21c385f @floere + Version 3.0.0.pre5
authored
283 h2. Version 3.0.0.pre5
284
285 * hanke: (server) Renamed Picky::Result#serialize -> Picky::Result#to_hash.
286
ec0ef97 @floere + 3.0.0.pre4 history -> all in one client+server
authored
287 h2. Version 3.0.0.pre4
288
289 * hanke: (generators) Added an All-In-One (Client + Server) Sinatra web app. This proves useful when wishing to use Picky on Heroku.
290
e3cb031 @floere + v3.0.0.pre3
authored
291 h2. Version 3.0.0.pre3
292
293 * hanke: (client) Gemfile referred to version ~> 2.0 instead of = 3.0.0.pre2.
294
440b9a7 @floere + Version 3.0.0.pre2
authored
295 h2. Version 3.0.0.pre2
296
e3cb031 @floere + v3.0.0.pre3
authored
297 * hanke: (server) Breaking: Index::Memory and Index::Redis do not accept options anymore.
298
299 Define options in the block or on the resulting instances
300
301 some_index = Indexes::Memory.new(:some_name) do
302 source ...
303 key_format ...
304 category ...
305 category ...
306 category ...
307 result_identifier ...
308 end
309
310 * hanke: (server) Breaking: PickyLog removed.
311
312 In the classic server, use
313
314 Picky.logger = Logger.new 'log/search.log'
315
316 if you want to log (uses SomeLogger#info).
317
318 In the Sinatra server, use
319
320 MyLogger = Logger.new 'log/search.log'
321 ...
322 get '/path' do
323 result = ...
324 MyLogger.info result.to_log(params[:query]) if you want to log.
325 result.to_json
326 end
327
2b695ca @floere + New breaking changes for 3.0.0.pre2
authored
328 * hanke: (server) Breaking: app/logging.rb not loaded anymore. You have to require it yourself if you want that.
440b9a7 @floere + Version 3.0.0.pre2
authored
329 * 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.
330
ac4383f @floere + history updated
authored
331 h2. Version 3.0.0.pre1
332
8cd65d8 @floere + history notes, - TODO
authored
333 * hanke: (server) Note: The key_format is not saved in the index configuration anymore.
ac4383f @floere + history updated
authored
334 * hanke: (generator) New example server, sinatra_server. The new default, very flexible.
8cd65d8 @floere + history notes, - TODO
authored
335
710ab8a @floere + Version 2.7.0
authored
336 h2. Version 2.7.0
e687c34 @floere + upcoming version notes
authored
337
93ce9d1 @floere + formatting
authored
338 * hanke: (server) Breaking: Method @#take_snapshot@ removed from Indexes/Index/Category (not needed anymore).
71c1bec @floere .
authored
339 * hanke: (server) Breaking: Users need to reindex when installing this version (index "index" now identified by "inverted" to be more clear).
9d3ea58 @floere + Move breaking to top
authored
340 * 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 @floere + history notes
authored
341 * hanke: (server) Reindexing now possible in running server, also for ActiveRecord Arel sources.
98c537f @floere + history notes updated
authored
342 * hanke: (server) More verbose indexing output with file locations.
343 * hanke: (server) Taking data snapshots improved.
710ab8a @floere + Version 2.7.0
authored
344 * hanke: (client) Fix for e.g. @picky search localhost:8080/books@ if highline gem is missing (thanks tonini!).
e687c34 @floere + upcoming version notes
authored
345
1c3bd5f @floere + Version 2.6.0: Cleaned up internal API
authored
346 h2. Version 2.6.0
347
5532681 @floere + more history notes
authored
348 * hanke: (server) Breaking: @Indexes#find@ method has been removed. Use @Indexes[index_name]@ and @Indexes[index_name][category_name]@.
349 * 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 @floere + testing post receive hook
authored
350 * 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 @floere + Better history
authored
351 * hanke: (server) @Indexes@, @Indexes[:some_index]@, and @Indexes[:some_index][:some_category]@ now all support
352
353 the following methods:
354 * @#index@ (just index: prepare data and cache data)
355 * @#reload@ (just reload the cached data into the server, no effect on Redis indexes)
356 * @#reindex@ (index and reload one category after another)
357
35b4185 @floere + history
authored
358 Note: @#reload@ and @#reindex@ only make sense in a running server with memory indexes.
359
be25356 @floere + Better history
authored
360 Examples:
361 * @Indexes.index@ (index all indexes, randomly)
362 * @Indexes[:some_index].reindex@ (reindex that index)
363 * @Indexes[:some_index][:some_category].reload@ (just reload that category)
1c3bd5f @floere + Version 2.6.0: Cleaned up internal API
authored
364
4fd7d39 @floere + Version 2.5.2: Redis indexing fixed.
authored
365 h2. Version 2.5.2
366
367 * hanke: (server) Fixed: Redis indexing. Old values are now removed on reindexing.
368
d733bd9 @floere + Version 2.5.1
authored
369 h2. Version 2.5.1
370
371 * hanke: (server) Minor changes.
372
8cc5570 @floere + Version 2.5.0: Multiple qualifiers, more restrictive search.
authored
373 h2. Version 2.5.0
374
375 * hanke: (server) Searches can now search in multiple qualifiers, separating them by a ",". E.g. name,street:tyne.
376 * 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.
377
cb6ef65 @floere + Version 2.4.3
authored
378 h2. Version 2.4.3
379
380 * hanke: (server) Fixed: Indexing a single category where a @#each@ source was used using @rake index:specific[index,category]@ raised an error.
381
7f84173 @floere + 2.4.2 history
authored
382 h2. Version 2.4.2
383
384 * hanke: (server) Live interface for picky-live gem fixed.
385
7db98c8 @floere + 2.4.1
authored
386 h2. Version 2.4.1
387
788fc60 @floere + Redis indexing fix note
authored
388 * hanke: (server) Fixes Redis indexing.
7db98c8 @floere + 2.4.1
authored
389 * hanke: (client) Requires activesupport (thanks stanley!).
390
9aed7d6 @floere + 2.4.0 history
authored
391 h2. Version 2.4.0
392
393 * 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.
394 * hanke: (client) The client is now finally really data driven by the server, see next changes.
395 * 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.
396 * hanke: (client) The @Convenience#ids@ method now by default returns all ids returned from the server.
397 * 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@.
398
6fe8d3a @floere + 2.3.0 Integration Tests
authored
399 h2. Version 2.3.0
6db5b3e @floere + 2.3.0 Test-Almost-First Release (unreleased)
authored
400
6fe8d3a @floere + 2.3.0 Integration Tests
authored
401 * 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] }@.
402 * hanke: (generators) Added integration specs that use the above tests & matchers to the generated example app.
403 * 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 @floere + 2.3.0 Test-Almost-First Release (unreleased)
authored
404
61a0fc2 @floere + 2.2.1
authored
405 h2. Version 2.2.1
406
9a24654 @floere + history 2.2.1
authored
407 * 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 @floere + 2.2.1
authored
408
7287d74 @floere + API changes
authored
409 h2. Version 2.2.0
410
3202d10 @floere + 2.2.0 descriptions for history
authored
411 * 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@
412 * 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)
413 * 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@.
414 * 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@.
415 * 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 @floere + performance_ratio.rb
authored
416 * 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 @floere + API changes
authored
417
cf05243 @floere + 2.1.2, rake search <url>
authored
418 h2. Version 2.1.2
419
420 * hanke: (server) Improved @rake search <url> [<result id amount>]@ with better description and error handling.
421
e2b9a33 @floere + 2.1.1, a simple experimental terminal interface
authored
422 h2. Version 2.1.1
423
424 * hanke: (server) @rake search <url>@, a simple experimental terminal search interface.
425
69ab0b2 @floere + 2.1.0
authored
426 h2. Version 2.1.0
427
9e0d678 @floere + explanations
authored
428 * 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).
429 * 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 @floere + explanation
authored
430 * 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 @floere + 2.1.0
authored
431
f67983f @floere + version 2.0! Weheeee!
authored
432 h2. Version 2.0.0
433
434 * hanke: Let's go live, wohoo! :) See the prerelease history notes for all changes.
435
5d1cf34 @floere + 2.0.0.pre3
authored
436 h2. Version 2.0.0.pre3
d1bb7ee @floere + phonetic -> double metaphone, + double metaphone, metaphone, soundex s...
authored
437
5d1cf34 @floere + 2.0.0.pre3
authored
438 * hanke: (server) Renamed @Similarity::DoubleLevenshtone@ (aka @Similarity::Phonetic@) to @Similarity::DoubleMetaphone@ (BREAKING: Cannot use @Similarity::Phonetic@ anymore).
d1bb7ee @floere + phonetic -> double metaphone, + double metaphone, metaphone, soundex s...
authored
439 * hanke: (server) Added @Similarity::Soundex@.
440 * hanke: (server) Added @Similarity::Metaphone@.
441
c14656d @floere + history with 2.0.0.pre2
authored
442 h2. Version 2.0.0.pre2
443
444 * hanke: (client) Asterisks are correctly escaped before saved in the browser history.
445 * you: Give feedback, thanks! :)
446
e56e289 @floere + 2.0 prerelease 1, yay! :)
authored
447 h2. Version 2.0.0.pre1
8ba626c @floere + 2.0.0 in history
authored
448
7221ad6 @floere + history with link
authored
449 * 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 @floere + 2.0 prerelease 1, yay! :)
authored
450 * 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)@.
451 * 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.
452 * 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)
453 * 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).
454 * hanke: (generated servers) See server changes above. Replace @Query::Full@ and @Query::Live@ instance pairs by just a single @Search@ instance.
ebb7013 @floere + Version 2.0.0.pre1 history
authored
455 * 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 @floere + 2.0.0 in history
authored
456
c9511e1 @floere + 1.5.4
authored
457 h2. Version 1.5.4
00bfad6 @floere + history, + 1.5.4, + not breaking the web anymore
authored
458
087189b @floere .
authored
459 * hanke: (client) Not breaking the web anymore ;) Using history.js instead of address.js to do away with the hash bang.
00bfad6 @floere + history, + 1.5.4, + not breaking the web anymore
authored
460
48a09c2 @floere + history 1.5.3 released
authored
461 h2. Version 1.5.3
19ac90a @floere + history 1.5.3
authored
462
463 * hanke: (server) @rake stats@ and @rake analyze@. Get information about your app.
464
465 h2. Version 1.5.2
fdf1076 @floere + 1.5.2 history
authored
466
467 * 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 @floere + history note
authored
468 * hanke: (server) The database source now uses mostly AR adapter methods to make it more agnostic.
fdf1076 @floere + 1.5.2 history
authored
469
e07cbb3 @floere + 1.5.1
authored
470 h2. Version 1.5.1
471
472 * hanke: (server) Picky now traverses more cleanly over your database data. (Thanks Jason Botwick!)
473
5d1cb4e @floere + 1.5.0 - Redis Index Backend (aka Trinacria Release).
authored
474 h2. Version 1.5.0
475
476 * hanke: (server) Redis backend.
477 * hanke: (server) The Redis backend uses db 15.
478 * hanke: (server) The mysql gem is used by default.
479
81c55d8 @floere + 1.4.3
authored
480 h2. Version 1.4.3
481
482 * hanke: (server) Fix for non-working picky command line interface. (Thanks Jason Botwick!)
483
808974e @floere + note in history
authored
484 h2. Version 1.4.2 (Redis backend prerelease)
8dff1ca @floere + 1.4.2
authored
485
486 * hanke: (server) Redis backend prototype.
7dc6d53 @floere + history
authored
487 * hanke: (server) @rake index:specific[index]@ or @rake index:specific[index,category]@ to index just a specific index or category.
488 * hanke: (server) Postgres source better handled.
8dff1ca @floere + 1.4.2
authored
489
6d9e54e @floere + 1.4.1 history
authored
490 h2. Version 1.4.1
491
492 * 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.
493
494 h2. Version 1.4.0
b86b216 @floere - ned for an external timer.js script
authored
495
dc8fe36 @floere .
authored
496 * 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 @floere + wrapResults option, prototype adapted
authored
497 * 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 @floere + history explanations
authored
498 * 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 @floere + 1.3.5 with split interface
authored
499 * 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 @floere + better explanations
authored
500 * 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 @floere .
authored
501 * hanke: (generators) Cleanup of Javascript code, inclusion of formerly external javascripts (@scrollTo@, @timer@, @jQuery 1.5@).
bf2a8cd @floere + better explanations
authored
502 * 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 @floere + history explanations
authored
503 * hanke: (generators) Cleanup of CSS, much more flexible and specific.
b86b216 @floere - ned for an external timer.js script
authored
504
19f19da @floere + Version 1.3.4
authored
505 h2. Version 1.3.4
506
507 * 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 @floere + history adapted
authored
508 * hanke: (generators/client) In the generated sinatra client, the back/forward buttons work via jquery.address plugin. Closes github issue 6.
19f19da @floere + Version 1.3.4
authored
509
80e4d36 @floere + 1.3.3, similar tokens now do not return their original text anymore
authored
510 h2. Version 1.3.3
511
512 * 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.
513
3656f81 @floere + 1.3.2
authored
514 h2. Version 1.3.2
515
516 * hanke: (all) Fixed description in the "picky" command. Also now shows optional parameters more clearly.
517
3ea96de @floere + 1.3.1, history
authored
518 h2. Version 1.3.1
519
520 * hanke: (server) Ability to handle string/symbol keys (for future key/value store data sources).
521 * hanke: (server) Live interface uses select instead of sleep in the master process.
522
eaa13c5 @floere + history for 1.3.0
authored
523 h2. Version 1.3.0
cf3c63f @floere + 1.3.0, unreleased
authored
524
3ea96de @floere + 1.3.1, history
authored
525 * hanke: (server) Offers a new routing API, an interface that permits changing parameters in the running server. Use @route %r{/admin} => Live::Interface.new@.
526 * hanke: (statistics) The statistics server is now called "Clam", a chain smoking friend of Picky's.
527 * 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 @floere + 1.3.0, unreleased
authored
528
5cefdd8 @floere + history
authored
529 h2. Version 1.2.4
b7a16a3 @floere + (future) history of 1.2.4
authored
530
3ea96de @floere + 1.3.1, history
authored
531 * 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.
532 * hanke: (statistics) Fixed a bug where the last line in the log file was counted once a second time after reloading the stats.
533 * hanke: (statistics) Slight interface redesign.
b7a16a3 @floere + (future) history of 1.2.4
authored
534
b4865ba @floere + version 1.2.3, fixes a bug with the "none" partial strategy
authored
535 h2. Version 1.2.3
536
3ea96de @floere + 1.3.1, history
authored
537 * 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 @floere + version 1.2.3, fixes a bug with the "none" partial strategy
authored
538
56c19b6 @floere + 1.2.2 history
authored
539 h2. Version 1.2.2
540
3ea96de @floere + 1.3.1, history
authored
541 * hanke: (statistics) Statistics server handles logfile reading in a cleaner way when the gem has been installed by root.
56c19b6 @floere + 1.2.2 history
authored
542
d710322 @floere + version 1.2.1 (picky stats <logfile> [port])
authored
543 h2. Version 1.2.1
544
3ea96de @floere + 1.3.1, history
authored
545 * 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 @floere + version 1.2.1 (picky stats <logfile> [port])
authored
546
9419364 @floere + Version 1.2.0 - Client API Change
authored
547 h2. Version 1.2.0
548
3ea96de @floere + 1.3.1, history
authored
549 * 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 @floere + Version 1.2.0 - Client API Change
authored
550
6bb6e3a @floere + 1.1.7 (1.2.0 pre)
authored
551 h2. Version 1.1.7 (1.2.0 pre)
552
3ea96de @floere + 1.3.1, history
authored
553 * hanke: (server) Redefined API for 1.1.6 beta feature, ranged search.
554 * hanke: (documentation) API for #define_ranged_category.
6bb6e3a @floere + 1.1.7 (1.2.0 pre)
authored
555
94d473b @floere + 1.1.6
authored
556 h2. Version 1.1.6
557
3ea96de @floere + 1.3.1, history
authored
558 * hanke: (server) Enabled beta feature "low/high limited range search", see "API RDoc":http://floere.github.com/picky/doc/index.html (IndexAPI class).
94d473b @floere + 1.1.6
authored
559
d678f6b @floere + version 1.1.5
authored
560 h2. Version 1.1.5
561
3ea96de @floere + 1.3.1, history
authored
562 * hanke: (server) Passing in a similarity search (e.g. with text "hello") will never return "hello" as a similar token.
d678f6b @floere + version 1.1.5
authored
563
fc51146 @floere + 1.1.4 in history
authored
564 h2. Version 1.1.4
565
3ea96de @floere + 1.3.1, history
authored
566 * hanke: (generators) Removed unnecessary jquery-1.3.2 from client, since it wasn't referenced anyway.
fc51146 @floere + 1.1.4 in history
authored
567
d01aebf @floere + 1.1.3
authored
568 h2. Version 1.1.3
569
3ea96de @floere + 1.3.1, history
authored
570 * 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 @floere + 1.1.3
authored
571
d99b47b @floere + Described version 1.1.2
authored
572 h2. Version 1.1.2
573
3ea96de @floere + 1.3.1, history
authored
574 * hanke: (generators) Added generator for empty unicorn projects, use @picky generate empty_unicorn_project <project_name>@ to generate one.
d99b47b @floere + Described version 1.1.2
authored
575
b4ae092 @floere + 1.1.1, + history 1.1.1
authored
576 h2. Version 1.1.1
577
3ea96de @floere + 1.3.1, history
authored
578 * hanke: (server and client) Removed generator projects that have been moved to picky-generators. Gems now much smaller :)
b4ae092 @floere + 1.1.1, + history 1.1.1
authored
579
6c9626a @floere + Version 1.1.0
authored
580 h2. Version 1.1.0
581
3ea96de @floere + 1.3.1, history
authored
582 * hanke: (server and client) Generators extracted into picky-generators gem.
583 * hanke: (generators) Generators and example projects for both server and client.
6c9626a @floere + Version 1.1.0
authored
584
e84ea8d @floere + 1.0.0, oh yeah.
authored
585 h2. Version 1.0.0
586
3ea96de @floere + 1.3.1, history
authored
587 * hanke: Lots of "API RDoc":http://floere.github.com/picky/doc/index.html.
588 * hanke: Yaaaay! Finally :)
e84ea8d @floere + 1.0.0, oh yeah.
authored
589
21ef987 @floere + 0.12.3
authored
590 h2. Version 0.12.3 (1.0.0 pre4)
591
3ea96de @floere + 1.3.1, history
authored
592 * hanke: (server) Fixed cased file name (led to problems under Linux, thanks Bernd Schoeller)
21ef987 @floere + 0.12.3
authored
593
875ddf9 @floere + history -> 0.12.2
authored
594 h2. Version 0.12.2 (1.0.0 pre3)
595
3ea96de @floere + 1.3.1, history
authored
596 * 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)@.
597 * hanke: (server) CSV source uses @FasterCSV@, passing through all its options (@col_sep@, @row_sep@ et cetera).
598 * hanke: (server) More understandable output for rake try, rake try:index, rake try:query.
875ddf9 @floere + history -> 0.12.2
authored
599
d0d4844 @floere + history -> 0.12.1
authored
600 h2. Version 0.12.1 (1.0.0 pre2)
601
3ea96de @floere + 1.3.1, history
authored
602 * hanke: (server) Fixed a bug where the default qualifier definition (like the author in the query author:tolkien) for categories were ignored.
d0d4844 @floere + history -> 0.12.1
authored
603
604 h2. Version 0.12.0 (1.0.0 pre1)
7b4d745 @floere + history -> 0.12.0
authored
605
3ea96de @floere + 1.3.1, history
authored
606 * hanke: (server) API change in application.rb: Use #define_category instead of #category on an index. (category still possible, but deprecated)
607 * hanke: (server) Internal rewrite.
7b4d745 @floere + history -> 0.12.0
authored
608
fea7993 @floere + index checking
authored
609 h2. Version 0.11.2
610
3ea96de @floere + 1.3.1, history
authored
611 * hanke: (server) Rake task index:check will check if all necessary index files are generated. (Nice to use before restarting.)
fea7993 @floere + index checking
authored
612
503cb75 @floere + CHANGELOGs merged in History.textile
authored
613 h2. Version 0.11.1
614
3ea96de @floere + 1.3.1, history
authored
615 * hanke: (server) Better error reporting in Rake tasks. Task naming improved.
616 * hanke: (server) Internal cleanup.
503cb75 @floere + CHANGELOGs merged in History.textile
authored
617
170c4c7 @floere + -> 0.11.0
authored
618 h2. Version 0.11.0
619
3ea96de @floere + 1.3.1, history
authored
620 * hanke: (server) Major API and internals rewrite. See generated project for help.
170c4c7 @floere + -> 0.11.0
authored
621
624a009 @tonini + create History file for releases
tonini authored
622 h2. Version 0.10.5
623
3ea96de @floere + 1.3.1, history
authored
624 * hanke: (server) Source CouchDB added (thanks to github.com/stanley).
624a009 @tonini + create History file for releases
tonini authored
625
626 h2. Version 0.10.4
627
3ea96de @floere + 1.3.1, history
authored
628 * hanke: (server) Typo fixed (thanks to github.com/stanley).
624a009 @tonini + create History file for releases
tonini authored
629
630 h2. Version 0.10.3
631
3ea96de @floere + 1.3.1, history
authored
632 * hanke: (client) Helpful configuration page in the client at /configure.
624a009 @tonini + create History file for releases
tonini authored
633
634 h2. Version 0.10.2
635
3ea96de @floere + 1.3.1, history
authored
636 * hanke: (server) Phonetic similarity (e.g. lyterature~) available through Similarity::Phonetic.new(4), see example.
624a009 @tonini + create History file for releases
tonini authored
637
638 h2. Version 0.10.1
639
3ea96de @floere + 1.3.1, history
authored
640 * hanke: (server) :weights option for queries also ok in the form: { [:cat1, :cat2] => 4 }, where 4 is any weight.
624a009 @tonini + create History file for releases
tonini authored
641
642 h2. Version 0.10.0
643
3ea96de @floere + 1.3.1, history
authored
644 * hanke: (server) (BREAKING) Total rewrite/exploration of the Application API.
624a009 @tonini + create History file for releases
tonini authored
645 Stay on 0.9.4 if you don't want to update right now.
3ea96de @floere + 1.3.1, history
authored
646 * hanke: (server) Character substitution now configurable. Default is no character substitution.
624a009 @tonini + create History file for releases
tonini authored
647
648 h2. Version 0.9.4
649
3ea96de @floere + 1.3.1, history
authored
650 * hanke: (server) rake routes: Shows all current URL paths, and if they are processable fast.
624a009 @tonini + create History file for releases
tonini authored
651
652 h2. Version 0.9.3
653
3ea96de @floere + 1.3.1, history
authored
654 * hanke: (server) Fixed: Querying parameters are not ignored anymore.
624a009 @tonini + create History file for releases
tonini authored
655
656 h2. Version 0.9.2
657
3ea96de @floere + 1.3.1, history
authored
658 * hanke: (client) Fixed result_hash.entries to return the right amount of entries.
659 * hanke: (client) The result_hash#entries now takes a block and replaces the e.g. AR instances with e.g rendered results.
660 * hanke: (client) Locale handling fixed. Uses the locale of the HTML tag by default.
624a009 @tonini + create History file for releases
tonini authored
661
662 h2. Version 0.9.1
663
3ea96de @floere + 1.3.1, history
authored
664 * hanke: (server) Delicious missing gem notice if www-delicious gem is missing.
665 * hanke: (server)Partial::Subtoken renamed to Partial::Substring.
624a009 @tonini + create History file for releases
tonini authored
666 Options: down_to -> from, starting_at -> to
3ea96de @floere + 1.3.1, history
authored
667 * hanke: (server) Index bundle file handling extracted into specific Index::Files backend.
624a009 @tonini + create History file for releases
tonini authored
668
669 h2. Version 0.9.0
670
3ea96de @floere + 1.3.1, history
authored
671 * hanke: (server/client) Jump to 0.9.0 to work on API, release 1.0.0 soon.
672 * hanke: (server) Partial indexing now only down to -3, e.g. florian -> partial: floria, flori, flor.
624a009 @tonini + create History file for releases
tonini authored
673 If you want down_to the first character (florian, floria, flori, flor, flo, fl, f), use:
674 field(:some_field_name, :partial => Partial::Subtoken.new(:down_to => 1))
3ea96de @floere + 1.3.1, history
authored
675 * hanke: (server) Sources::Delicious.new(user, pass) for indexing your delicious posts.
676 * hanke: (server) indexing and querying config now done on tokenizer instances.
624a009 @tonini + create History file for releases
tonini authored
677
678 h2. Version 0.3.1
679
3ea96de @floere + 1.3.1, history
authored
680 * hanke: (server) Generator gives more informative NoGeneratorError message.
624a009 @tonini + create History file for releases
tonini authored
681
682 h2. Version 0.3.0
683
3ea96de @floere + 1.3.1, history
authored
684 * hanke: (server) Uses json (index, index weights) and marshal (similarity index) to dump indexes.
685 * hanke: (server) Generator is more helpful (thanks to github.com/kschiess)
686 * hanke: (server) Generator for a Sinatra project. (picky-client sinatra project_name <- Note: Changed to picky generate sinatra_client project_name)
687 * hanke: (client) Helpful generator. (thanks to github.com/kschiess)
624a009 @tonini + create History file for releases
tonini authored
688
689 h2. Version 0.2.4
690
3ea96de @floere + 1.3.1, history
authored
691 * hanke: (server) Indexing output, output in general cleaned up.
692 * hanke: (server) Better info after generating a new project (thanks kschiess).
693 * hanke: (server) Indexer now uses json for the dump files (much faster, slightly larger, thanks to github.com/niko).
694 * hanke: (client) JS files rewritten.
624a009 @tonini + create History file for releases
tonini authored
695
696 h2. Version 0.2.3
697
3ea96de @floere + 1.3.1, history
authored
698 * hanke: (server) Explicit index buffering: Indexer hits filesystem only seldomly.
699 * hanke: (server) Internal rename from full index to exact index (visible in index filenames).
700 * hanke: (server) Solr Indexing removed until someone needs it. Then we'll talk cash. Just kidding.
701 * hanke: (server) Improved Gemfile.
624a009 @tonini + create History file for releases
tonini authored
702
703 h2. Version 0.2.2
704
3ea96de @floere + 1.3.1, history
authored
705 * hanke: (server) Umlaut handling (i.e. character substitution) now pluggable.
706 * hanke: (server) Apps finalization now handled through Ruby callback (thanks to github.com/severin).
624a009 @tonini + create History file for releases
tonini authored
707
708 h2. Version 0.2.1
709
3ea96de @floere + 1.3.1, history
authored
710 * hanke: (server) Fix for negative partial index values (:partial => Partial::Subtoken.new(:down_to => -3))
624a009 @tonini + create History file for releases
tonini authored
711
712 h2. Version 0.2.0
713
3ea96de @floere + 1.3.1, history
authored
714 * hanke: (server) Only uses JSON to encode results.
715 * hanke: (client) Only uses JSON for full and partial queries.
624a009 @tonini + create History file for releases
tonini authored
716
717 h2. Version 0.1.0
718
3ea96de @floere + 1.3.1, history
authored
719 * hanke: (server) Application interface rewrite. See a freshly created
99967d3 @floere + adapted doc from picky-generate to picky generate
authored
720 project (using picky project <name> <- Note: Renamed picky generate unicorn_server <name>).
624a009 @tonini + create History file for releases
tonini authored
721 Application#add_index.
722
723 h2. Version 0.0.9
724
3ea96de @floere + 1.3.1, history
authored
725 * hanke: (client) Cleanup. Frontend example.
624a009 @tonini + create History file for releases
tonini authored
726
727 h2. Version 0.0.8
728
3ea96de @floere + 1.3.1, history
authored
729 * hanke: (server) Application#add_index instead of Application#type.
730 * hanke: (server) Simplified scaffolding.
624a009 @tonini + create History file for releases
tonini authored
731
732 h2. Version 0.0.7
733
3ea96de @floere + 1.3.1, history
authored
734 * hanke: (server) Gem compiles on install. Do not compile on run.
624a009 @tonini + create History file for releases
tonini authored
735
736 h2. Version 0.0.6
737
3ea96de @floere + 1.3.1, history
authored
738 * hanke: (server) Removed unnecessary gem dependencies (thanks to niko).
739 * hanke: (server) Added CSV to the possible Sources. Sources::CSV.new(:title, :author, :isbn, :file => 'data/books.csv'),
740 * hanke: (server) Renamed all instances of SEARCH_* constants to PICKY_*. (Uses RACK_ENV)
624a009 @tonini + create History file for releases
tonini authored
741
742 h2. Version 0.0.5
743
3ea96de @floere + 1.3.1, history
authored
744 * hanke: (server) config.ru, unicorn.ru now top level in newly created project (more standard).
745 * hanke: (server) Port now defined in unicorn.ru (use listen 'host:port').
746 * hanke: (client) Enriched callbacks in the JS interface definition (before, success, after).
624a009 @tonini + create History file for releases
tonini authored
747
748 h2. Version 0.0.4
749
3ea96de @floere + 1.3.1, history
authored
750 * hanke: (client) Interface now created using Picky::Helper.interface or .cached_interface (if you only have a single language in your app).
624a009 @tonini + create History file for releases
tonini authored
751
752 h2. Version 0.0.3
753
3ea96de @floere + 1.3.1, history
authored
754 * hanke: (server) C-Code cleaned up, removed warnings.
624a009 @tonini + create History file for releases
tonini authored
755
756 h2. Version 0.0.2
757
3ea96de @floere + 1.3.1, history
authored
758 * hanke: (server) Newly created application better documented.
624a009 @tonini + create History file for releases
tonini authored
759
760 h2. Version 0.0.1
761
3ea96de @floere + 1.3.1, history
authored
762 * hanke: (server/client) Initial project. Server (picky) and basic frontend client (picky-client) available.
Something went wrong with that request. Please try again.