2010-06-22 14 views

Répondre

4

Neutrino est presque correct ...

Tout d'abord, il convient de noter que Sphinx (et donc, Thinking Sphinx) demandes pagine toujours, et la taille de page par défaut est 20. Si vous souhaitez changer cela, vous pouvez passer en :per_page => 30 ou similaire pour obtenir le nombre d'enregistrements par page que vous souhaitez. Deuxièmement, Sphinx (par défaut) limite le nombre total de résultats de recherche disponibles à 1 000 par défaut. C'est ce que neutralisait Neutrino - si vous définissez max_matches, vous pouvez augmenter cette valeur. Cependant, vous devrez également indiquer une valeur pour :max_matches dans votre recherche.

Model.search 'foo', :max_matches => 10_000 

Vous devrez arrêter/réindexer/redémarrage lorsque vous modifiez les valeurs dans votre fichier config/sphinx.yml - il y a une seule tâche de râteau qui fait cela:

rake ts:rebuild 

Cela garantira que la configuration générée fichier est à jour, et le démon Sphinx est conscient des changements.

+0

Merci, je l'ai eu en utilisant per_page avec la partie de recherche. –

0

Dans votre config/sphinx.yml (créer un si vous ne l'avez pas déjà) ajouter ce qui suit:

development: 
    max_matches: 10000 
# ... repeat for other environments 

Voir la docs pour plus d'informations .

+0

Je l'ai essayé mais résultat avec les mêmes 20 enregistrements –

+0

avez-vous couru 'rake ts: config' après cela? –

+0

Ya essayé encore aucun résultat –

0

J'ai essayé toutes les choses pour aller chercher plus de 20 résultats.

Dans le fichier de configuration I à 1000 max_matches frappé légèrement,

Puis aussi me donnait seulement 20 résultats.

Ensuite, j'ai essayé: per_page => 200, puis j'ai obtenu le plus grand nombre de résultats.

Merci pour votre aide.

1

Dans contrôleur

@sphinx = Ad.search(params[:search], :per_page => 1000) 

qui a travaillé pour moi.