J'ai mis à jour mes enregistrements de champs de recherche avec think_sphinx gem et je l'ai configuré. Il fonctionne bien mais le problème, Il affiche seulement 20 enregistrements qui est par défaut. Comment changer les choses à faire plus d'enregistrements visibles sur la vue ..comment afficher plus d'enregistrements sur la recherche avec Thinking_sphinx avec des rails
Répondre
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.
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 .
Je l'ai essayé mais résultat avec les mêmes 20 enregistrements –
avez-vous couru 'rake ts: config' après cela? –
Ya essayé encore aucun résultat –
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.
Dans contrôleur
@sphinx = Ad.search(params[:search], :per_page => 1000)
qui a travaillé pour moi.
Merci, je l'ai eu en utilisant per_page avec la partie de recherche. –