Мышление Sphinx Delta Index не работает - PullRequest
3 голосов
/ 05 октября 2011

Я добавил столбец дельты в мою таблицу:

class AddDeltaIndexToCimgs < ActiveRecord::Migration
  def change
    add_column :cimgs, :delta, :boolean, default: true, null: false
  end
end

Я перенес

Я также добавил define_index:

define_index do
  indexes search_cache
  has :approved
  set_property delta: true
end

И я побежал граблиЗадачи

rake ts:stop
rake ts:index
rake ts:start

Или rake ts:rebuild

Затем я добавляю новую запись в таблицу, ищу ее ... и ничего.Индексированные ядром записи можно найти идеально, но дельта вообще не работает.

Для их поиска я использую следующее:

Cimg.search query, with: {approved: true}

И да, каждый Cimg одобрен,и есть куча вещей в search_cache, а новые помечены delta = 1 в базе данных.Я дважды проверил.

Я проверил папку db / sphinx, и было создано много файлов с именем cimg_delta.

Вот сгенерированный файл конфигурации: http://pastebin.com/z0fHr43k

Sphinx version: 2.0.7
Thinking Sphinx gem version: 2.0.5
Rails version: 3.1.0.rc8
Ruby version: 1.9.2p290 

Есть идеи, почему это может происходить?

1 Ответ

0 голосов
/ 05 июля 2012

Просто проверка работоспособности, но в вашем файле config / sphinx.yml ты делаешь

    development:      
      min_prefix_len: 2  

      indexed_models:
        - Article
        - Match
        - Player
        - Team
        - Group
        - Tournament
        - Ground
        - User

Убедитесь, что вы добавили все новые проиндексированные модели, в противном случае мы думаем, что sphinx будет индексировать только те, которые указаны в каждой среде. Я просто добавил define_index в модель User и не мог понять, почему он не индексируется при запуске rake ts:rebuild Я забыл добавить indexed_models: user в shinx.yml

Надеюсь, это полезно, спасибо, Дейв

...