Делта индексът на Thinking Sphinx се актуализира само когато е в конзолата

Това беше задавано няколко пъти, но не намерих решение в съществуващите въпроси.

Документите в основния индекс могат да бъдат намерени, но документите в делта не могат да бъдат намерени.

  • Имам булев делта атрибут в базата данни, който по подразбиране е верен. Виждам, че всички документи в ядрото в момента имат делта=0 и всички нови имат делта=1.
  • Имам set_property :delta => true в document.rb
  • Делта индексът е в конфигурационния файл и има делта индексни файлове на моя твърд диск.
  • Преустроих, преиндексирах и рестартирах сървъра.
  • Не виждам резултат от индексатора в моя регистрационен файл, когато създавам нов документ през мрежата, НО:

Работи добре, когато създавам документите в конзолата с User.first.documents.create(same_params_as_on_web). Въпреки това използвам същата команда в моя контролер: @document = current_user.documents.create(params[:document])

След като създам документ в конзолата и делта индексаторът се стартира автоматично, другите документи, създадени чрез мрежата, също се включват.

Някаква идея, защо индексаторът може да не се задейства при извикване през мрежата, но е в конзолата?

Използвам thinking-sphinx (2.0.5) с rails (3.2.1) чрез apache/passenger.


person Jan    schedule 06.03.2012    source източник


Отговори (1)


Любезно се насочвам към страницата с често срещани проблеми, раздел Изпълнение на делта индексиране с Passenger http://freelancing-god.github.com/ts/en/common_issues.html#passenger

Вижте по какъв път е searchd с which searchd

И след това задайте съответно опцията bin_path във вашия файл config/sphinx.yml:

production:
  bin_path: '/usr/local/bin'
person Jan    schedule 07.03.2012