2010-01-13 3 views
4

J'utilise sphinx pour rechercher sur 2 modèles avec leurs associations. J'utilise l'indexation delta. Les choses fonctionnent bien sur ma boîte de dev en mode dev (Ubuntu). Cependant, lors de la création d'une boîte de transfert, lorsque je crée de nouveaux enregistrements, j'ai besoin de recréer l'index afin que les enregistrements nouvellement créés puissent être recherchés. Même bizarre, lorsque je crée des enregistrements en utilisant script/console, ils semblent être indexés et peuvent être recherchés.Sphinx pensant ne pas indexer les nouveaux enregistrements

Pour que les associations fonctionnent après la mise à jour, j'ai une méthode after_save pour tous les modèles d'association qui définissent le delta de ces deux enregistrements de modèle sur true. Je ne suis pas sûr si cela a quelque chose à voir avec ça.

J'ai vérifié les permissions, en pensant à la version sphinx gem et ils semblent tous aller bien. Quel pourrait être le problème?

EDIT

J'ai également vérifié http://freelancing-god.github.com/ts/en/common_issues.html#deltas mais il ne semble pas fonctionner. Et oui le serveur fonctionne sur phusion passager.

+0

À quoi ressemblent vos blocs d'index dans vos modèles? pourquoi mettez-vous le delta à faux (comment est-ce important pour les associations?). delta doit être vrai pour un enregistrement pour obtenir delta indexé –

+0

Désolé, je veux dire, les deltas sont mis à vrai pour les mises à jour d'association pour fonctionner. C'est définitivement un problème de passager de phusion. – Chirantan

+0

Etes-vous sûr que c'est un problème passager? Avez-vous essayé de faire des rails et de voir si vous pouvez obtenir des résultats de recherche? J'ai un problème similaire, j'ai aussi configuré un système de passager en phusion, mais je remarque aussi que dans les rails, la recherche de console via l'instance Modelname (ou autre) renvoie toujours un []. Je remarque aussi qu'il y a une ligne dans la sortie de rake ts: reconstruire "skipping non-plain index" Faites-moi savoir si cela aide ... –

Répondre

1

J'avais quelque chose comme ce problème, et je pense que c'était un problème de résolution de dépendance.

Voir mon article here.

D'une manière ou d'une autre, je pense qu'une version mise à jour de think-sphinx a été installée sur ma machine via une gemme, et je l'ai toujours installée via apt-get. Je l'ai purgé avec apt, puis l'ai réinstallé. Par la suite, j'ai trouvé que j'avais un champ spécial dans une table qui ne devrait pas être utilisée,: type, et j'ai édité la migration pour enlever le type et l'ajouter encore comme nom différent. Alors ça a marché. Vous devez publier votre code pertinent, pour les modèles, l'action du contrôleur qui appelle la recherche, toute sortie visible à l'appel de l'une des commandes rake. Essayez de désinstaller la gemme, puis réinstallez-la. Ensuite, désinstallez le paquet apt et réinstallez-le.

+0

Je suis désolé Adam, la question est trop ancienne pour que je me souvienne de ce qui n'allait pas. J'aurais dû poster la solution qui a fonctionné pour moi alors. :-( – Chirantan

+1

Ouais je vous ai bien, peut-être que vous vous en souviendrez un jour ... Si vous le faites, ce serait une aide précieuse pour la communauté de le partager! –

+1

Sure mate, je l'afficherai si je m'en souviens. – Chirantan

Questions connexes