2011-12-21 4 views
0

Pour un sitemap Google XML, j'ai besoin de tous les ID de document collectés par Sphinx. Mais avec plus de 1000 documents, si j'essaye de les obtenir tous en une simple boucle, cela me donne finalement Error: searchd error: offset out of bounds (offset=1000, max_matches=1000).Comment récupérer tous les ID de document avec Sphinx Search

Je pourrais augmenter le paramètre max_matches, mais cela tuerait les performances.

Et je ne veux pas simplement exécuter une requête MySQL, car il y a UNION et un tas de contrôles/règles dans la requête de l'indexeur Sphinx. Et je veux ma requête sur un endroit pour la maintenabilité.

Donc ce que j'ai fait maintenant est, pour chaque catégorie (j'en ai besoin aussi pour le sitemap), je lance une requête Sphinx filtrée sur la catégorie. De cette façon, je reste en dessous de la limite de 1000 documents.

Il doit y avoir une meilleure solution pour cela. Droite?

Répondre

1

J'ai posté code PHP pour cette ici: http://sphinxsearch.com/forum/view.html?id=7215

essentiellement que vous venez retreive les résultats 1000 documents à la fois dans une boucle while. sitemaps ne se soucient pas de l'ordre des résultats dans le fichier, donc peu importe que vous ayez besoin d'obtenir les résultats dans l'ordre document_id.

+0

Exactement ce dont j'avais besoin. Merci! – John

Questions connexes