2009-07-16 6 views
0

Je rencontre un comportement étrange de la part de thinking_sphinx/sphinx.Est-ce que Sphinx et thinking_sphinx sont vraiment stables? Non indexation Colonnes

Mon bloc define_index compte environ 100 lignes, donc beaucoup de colonnes que j'indexe. Pour la recherche en texte intégral, je n'ai besoin que d'environ 10 attributs, pour le tri et le filtrage, j'ai environ 50 colonnes, principalement des nombres flottants et des nombres entiers.

Par filtrage, j'entends utiliser les options "avec" ou "sans".

La recherche ne fonctionne pas vraiment de manière cohérente. Tout d'un coup, un attribut ne parvient pas à filtrer. Ou si j'en ajoute un nouveau, ça ne marche pas. Seulement après beaucoup de bricolage, il commence tout à coup à travailler. Je ne peux pas vraiment le reproduire. étapes I qui me conduisent parfois à succès où:

  • rm -rf db/SPHINX
  • changement de la définition de l'attribut par exemple a some_attribute => a some_attribute,: sortable => true ou => a some_attribute,: sortable => true,: as => "some_attribute"
  • redémarrer le serveur
  • attribuer un nouveau: le nom => a some_attribute,: as => "some_attribute_new"

(oui, je l'ai fait râteau ts: reconstruire ou râteau ts: dans après chaque étape)

Est-ce que quelqu'un d'autre rencontre des problèmes similaires?

Répondre

0

Cela semble un peu étrange, même si je n'ai jamais entendu parler de quelqu'un ayant un tel nombre de champs et/ou d'attributs.

Quand vous dites principalement des flottants et des entiers, quels sont les autres? En particulier, y a-t-il des attributs de chaîne sur lesquels vous essayez de filtrer? Parce que Sphinx ne peut pas encore le faire (proposé pour 0.9.10).

De plus, vous n'avez pas besoin de :sortable => true pour les attributs - tous les attributs sont triables. Au-delà de ça, je crains de ne pas avoir une idée de ce que je vais faire ensuite. Si vous pouvez reproduire le problème de façon fiable (en particulier sur un index avec seulement quelques champs et index), ce serait fantastique.

+0

Je juste pourrais reproduire l'erreur en déplaçant les attributs ne fonctionnant pas jusqu'au début de define_index – seb

+0

Maintenant j'ai déplacé ces attributs vers le bas encore. Et ça fonctionne miraculeusement. – seb

+0

Vous n'avez aucun attribut ou champ avec le même nom dans l'index, n'est-ce pas? Et juste pour confirmer, vous essayez de filtrer sur les entiers et/ou les flottants? – pat

Questions connexes