2017-09-14 2 views
0

J'ai couru indextool sur un index qui plante le sphinx quand j'utilise indexer dessus.Comment déboguer la recherche sphinx en utilisant l'indextool

La sortie de indextool montre de nombreux échecs tels que:

MANQUE, chaîne de décalage en dehors des limites (rang = 18, stringattr = 3, docid = 3317, index = 896070)

Quelqu'un peut-il m'aider à comprendre à quoi correspondent les paramètres (row, stringattr, docid, index) afin que je puisse inspecter le fichier csv de l'index pour essayer de voir ce qui cause l'échec?

Répondre

2

Ce sont des offsets dans l'index généré. Pas dans l'ensemble de données source d'origine.

Mais aussi pour autant que je sache, indextool inspecte uniquement les index existants. L'exécution indexer tente de créer une nouvelle version de l'index à partir des données 'source'. Donc, si l'indexeur plante, un index correct n'est PAS construit.

Donc, indextool inspecte une version précédente, plutôt que l'index partiellement construit lorsque l'indexeur plante! Cette première version était déjà corrompue.

En résumé, l'utilisation de indextool est un non-démarreur. Besoin de déboguer en utilisant indexer à la place.

Peut-être essayer --dump rangs et/ou --verbose options à indexer sera peut-être révéler quelque chose d'utile juste avant l'accident se produit?