Pat Allan on 22 Jun, 2012 04:51 AM
Are you using Heroku's default shared database? If so, have you
set FLYING_SPHINX_INGRESS to true? Because that setting's only for
databases that allow external ingress - and Heroku's default shared
databases do not (yet) do that. So, if this is the situation,
you'll need to remove that setting:
heroku config:remove FLYING_SPHINX_INGRESS
Otherwise, can you let me know what type of database you're
on 22 Jun, 2012 07:13 PM
Thank you, I've got it working now.
On another note (Maybe I need to make a new discussion, as it is
away from this topic), I would like to implement real-time search
into my heroku app. Currently Flying_Sphinx is only able to search
me reports that have been indexed (I am indexing every 10 minutes),
so one must wait at most 10 minutes before viewing their report in
Is there a way to make them be searchable automatically? Locally
I'm using deltas, and have been looking into DelayedDelta for
Heroku (as you can tell, my define_index is setup for
delayed_delta) but it doesn't seem to be working. I enabled a
worker (which I currently disabled due to the cost and the fact
that it wasn't working as intended) and it still was not able to
find just-made reports. If it is of any help, I am using
Pat Allan on 22 Jun, 2012 11:23 PM
Great to hear standard indexing's working smoothly now.
Unfortunately, delta indexing is not enabled for the Wooden Sphinx plan - it's not viable, given the extra resources it would consume with the increase in indexing requests. All other plans allow for it, though (the higher price allows for higher spec'd machines, essentially).
If you do decide to upgrade, then that should provide near-real-time results (there will be a slight delay as your worker gets to processing the request, and the same applies for my indexing workers). I realise it's not cheap, but at this point in time, there's not really any better options.
Pat Allan on 23 Jun, 2012 07:18 AM
You'll still need to use Delayed Job (or Resque, using the ts-resque-delta gem) for the deltas to be processed - you don't want indexing to happen as part of the web request, otherwise it'll take several seconds or more to get back to the user (or time out, as Heroku has a 30 second limit).