I think Sinatra gets its environment from RACK_ENV, but I'm not sure. Maybe
it's worth setting the environment yourself?
Also, in your app's code, may want to try requiring 'thinking_sphinx/sinatra'
instead of 'thinking_sphinx'.
--
Pat
On 08/09/2011, at 1:12 PM, mikeee wrote:
> Hi Pat -
>
> I have TS 2.0.7 and AR 3.1.0 and Sphinx 2.0.1beta
>
> BTW, I have my Rakefile looking like this now which is helping to some
> extent:
>
> require 'thinking_sphinx'
> require 'thinking_sphinx/tasks'
>
> require 'active_support/core_ext/string'
>
> Sinatra::Application.root = File.dirname(__FILE__)
> Sinatra::Application.environment = "development"
>
>
> I had to require the active_support stuff in order to use the camelize
> and blank? methods that are called down in the TS library.
>
> What I can't figure out is why the environment is always blank once it
> gets down into the library. I ended up playing around down in lib/
> thinking-sphinx/configuration.rb
>
> Note that elsif defined?(Sinatra) is true so it drops down into the
> puts "GOT HERE" i added but Sinatra::Application.environment.to_s is
> an empty string. Can't figure that out yet so I just hardcoded the
> return statement in order to get the config/development.sphinx.conf
> file generated -otherwise it generates a file named
> config/.sphinx.conf
>
>
> def self.environment
> return "development"
> @@environment ||= if defined?(Merb)
> Merb.environment
> elsif defined?(Rails)
> Rails.env
> elsif defined?(Sinatra)
> puts "GOT HERE: #{Sinatra::Application.environment.to_s}"
> Sinatra::Application.environment.to_s
> else
> ENV['RAILS_ENV'] || 'development'
> end
> end
>
> This is where I am currently as far as getting the files to generate:
>
> macbook:autocomplete mengelhart$ rake ts:index
> /Users/mengelhart/Development/sandbox/autocomplete/config/sphinx.yml
> Generating Configuration to /Users/mengelhart/Development/sandbox/
> autocomplete/config/development.sphinx.conf
> Sphinx 2.0.1-beta (r2792)
> Copyright (c) 2001-2011, Andrew Aksyonoff
> Copyright (c) 2008-2011, Sphinx Technologies Inc (http://
> sphinxsearch.com)
>
> using config file '/Users/mengelhart/Development/sandbox/autocomplete/
> config/development.sphinx.conf'...
> FATAL: no indexes found in config file '/Users/mengelhart/Development/
> sandbox/autocomplete/config/development.sphinx.conf'
>
> The generated development.sphinx.conf file looks like:
>
> indexer
> {
> }
>
> searchd
> {
> listen = 127.0.0.1:9312
> log = /Users/mengelhart/Development/sandbox/autocomplete/log/
> searchd.log
> query_log = /Users/mengelhart/Development/sandbox/autocomplete/log/
> searchd.query.log
> pid_file = /Users/mengelhart/Development/sandbox/autocomplete/log/
> searchd.development.pid
> }
>
>
> My current theory is that somehow since this isn't an actual Rails app
> that somehow TS doesn't know how to grab the AR connection to the
> database?
>
> Here's the single model I'm testing:
>
> require 'thinking-sphinx'
>
> class Location < ActiveRecord::Base
>
> define_index do
> indexes name
> end
>
> end
>
> Any thoughts?
>
>
>
> On Sep 7, 7:27 pm, Pat Allan <[email protected]> wrote:
>> Hi Mike
>>
>> Which versions of Thinking Sphinx and ActiveRecord are you using?
>>
>> --
>> Pat
>>
>> On 08/09/2011, at 7:56 AM, mikeee wrote:
>>
>>
>>
>>
>>
>>
>>
>>> I'm pretty sure after doing some more digging that the issue is that
>>> RAILS_ROOT Is not defined anywhere in a Sinatra application. I just
>>> tried putting a RAILS_ROOT constant into my Rakefile but that isn't
>>> helping.
>>
>>> Let me know if anyone has any experience using TS and Sinatra.
>>> Thanks!
>>
>>> On Sep 7, 8:05 am, mikeee <[email protected]> wrote:
>>>> Hi -
>>
>>>> I found a gist on github regarding how to get Thinking Sphinx to work
>>>> in a sinatra app using ActiveRecord and that seems like it will work
>>>> but I'm having trouble setting up the application in order to allow me
>>>> to run the rake tasks necessary to generate the required configuration
>>>> files and the index.
>>
>>>> What appears to be happening when I try and run these tasks is that it
>>>> seems like the rake task is trying to use a path of "/" for all the
>>>> tasks. Here's the output I get when running ts:config
>>
>>>> macbook:autocomplete mengelhart$ rake ts:config
>>>> Generating Configuration to /config/development.sphinx.conf
>>>> rake aborted!
>>>> No such file or directory - /config/development.sphinx.conf
>>
>>>> Tasks: TOP => ts:config => thinking_sphinx:configure
>>>> (See full trace by running task with --trace)
>>
>>>> Note the /config/ path that it's trying to use. Maybe I'm not
>>>> understanding the output correctly though.
>>
>>>> I have my model in app/models in my sinatra application directory as
>>>> well and i can hit the database and do straight up AR calls in the
>>>> sinatra handlers I just can't seem to get the TS setup configured
>>>> appropriately so I can index the model.
>>
>>>> Thanks for any help
>>
>>> --
>>> You received this message because you are subscribed to the Google Groups
>>> "Thinking Sphinx" group.
>>> To post to this group, send email to [email protected].
>>> To unsubscribe from this group, send email to
>>> [email protected].
>>> For more options, visit this group
>>> athttp://groups.google.com/group/thinking-sphinx?hl=en.
>
> --
> You received this message because you are subscribed to the Google Groups
> "Thinking Sphinx" group.
> To post to this group, send email to [email protected].
> To unsubscribe from this group, send email to
> [email protected].
> For more options, visit this group at
> http://groups.google.com/group/thinking-sphinx?hl=en.
>
--
You received this message because you are subscribed to the Google Groups
"Thinking Sphinx" group.
To post to this group, send email to [email protected].
To unsubscribe from this group, send email to
[email protected].
For more options, visit this group at
http://groups.google.com/group/thinking-sphinx?hl=en.