2011-10-05 7 views
3

J'ai ajouté la colonne delta à ma table:Pensant Index Sphinx Delta ne fonctionne pas

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

Je migrées

J'ai également ajouté define_index:

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

Et je courais le râteau tâches

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

Ou rake ts:rebuild

Ensuite, je ajoute un nouvel enregistrement à la table, la recherche ... et rien. Les enregistrements indexés sur le noyau peuvent être trouvés parfaitement, mais le delta ne fonctionne pas du tout.

Pour les rechercher J'utilise les éléments suivants:

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

Et oui, chaque Cimg est approuvé, et un tas de choses dans search_cache, et les nouveaux sont marqués delta = 1 dans la base de données. J'ai vérifié deux fois.

J'ai vérifié le dossier db/sphinx et beaucoup de fichiers avec le nom cimg_delta sont créés.

Voici le fichier de configuration généré: 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 

Toute idée des raisons pour lesquelles cela peut se produire?

+1

I avoir le même problème. – Jan

+0

Hébergez-vous avec des passagers? – Jan

Répondre

0

Juste un test de cohérence, mais dans votre fichier config/sphinx.yml êtes-vous faire

development:  
     min_prefix_len: 2 

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

Assurez-vous que vous avez ajouté de nouveaux modèles indexés par ailleurs à penser que l'indice sphynx sera ceux indiqués dans chaque environnement. Je viens d'ajouter un define_index au modèle de l'utilisateur et ne pouvait pas comprendre pourquoi il n'était pas en cours d'indexation lors de l'exécution rake ts:rebuild j'avais oublié d'ajouter les indexed_models: l'utilisateur à shinx.yml

Espérons que cela est utile, Merci Dave

Questions connexes