README.textile in ts-datetime-delta-1.0.3 vs README.textile in ts-datetime-delta-2.0.0

- old
+ new

@@ -1,40 +1,61 @@ h1. Datetime Deltas for Thinking Sphinx h2. Installation -You'll need Thinking Sphinx 1.3.0 or later. +You'll need Thinking Sphinx 1.3.0 or later (v3 is now supported since the 2.0.0 release of this gem). <pre><code>gem install ts-datetime-delta</code></pre> In your Gemfile, you can use it like so: -<pre><code>gem 'ts-datetime-delta', '~> 1.0.2', +<pre><code>gem 'ts-datetime-delta', '~> 2.0.0', :require => 'thinking_sphinx/deltas/datetime_delta'</code></pre> Or if you're still on Rails 2, then put this in your @environment.rb@ file with the rest of your gem dependencies: <pre><code>config.gem 'ts-datetime-delta', :lib => 'thinking_sphinx/deltas/datetime_delta' - :version => '>= 1.0.0'</code></pre> + :version => '>= 2.0.0'</code></pre> No matter which version of Rails, you'll need to add the following line to the bottom of your @Rakefile@: <pre><code>require 'thinking_sphinx/deltas/datetime_delta/tasks'</code></pre> h2. Usage -For the indexes you want to use this delta approach, make sure you set that up in their @define_index@ blocks. +For the indexes you want to use this delta approach, make sure you set that up in your index definition. For Thinking Sphinx v3, that'll look like this: +<pre><code>ThinkingSphinx::Index.define(:book, + :with => :active_record, + :delta => ThinkingSphinx::Deltas::DatetimeDelta +) do + # ... +end</code></pre> + +But for Thinking Sphinx v1/v2, it belongs within your @define_index@ blocks: + <pre><code>define_index do # ... set_property :delta => :datetime end</code></pre> If you want to use a column other than @updated_at@, you can specify it using the @:delta_column@ option. The same goes for the threshold, which defaults to one day. +Again, Thinking Sphinx v3 expects these options outside the block: + +<pre><code>ThinkingSphinx::Index.define(:book, + :with => :active_record, + :delta => ThinkingSphinx::Deltas::DatetimeDelta, + :delta_options => {:threshold => 1.hour, :delta_column => :changed_at} +) do + # ... +end</code></pre> + +But Thinking Sphinx v1/v2 it goes within the @define_index@ block: + <pre><code>set_property :delta => :datetime, :threshold => 1.hour, :delta_column => :changed_at</code></pre> Then, while your Rails application is running, you'll need to run the delta indexing rake task regularly - as often as your threshold, allowing for some time for the indexing to actually happen. @@ -51,9 +72,11 @@ h2. Contributors * "W. Andrew Loe III":http://andrewloe.com/ - Environment variable for disabling merging. * "Kirill Maximov":http://kirblog.idetalk.com - Handling nil timestamp column values for toggled checks. +* "Timo Virkkala":https://github.com/weetu - Thinking Sphinx v3 compatibility,fix for null timestamps. +* "Cedric Maion":https://github.com/cmaion - Fix for keeping custom options persisted. h2. Copyright -Copyright (c) 2009-2012 Pat Allan, and released under an MIT Licence. +Copyright (c) 2009-2014 Pat Allan, and released under an MIT Licence.