2009-06-29 6 views
0

Supposons que Sql Server (2005/2008) crée un index à partir de l'une de mes tables. Je souhaite utiliser mon propre moteur de recherche personnalisé (un peu plus à l'écoute de mes besoins que la recherche plein texte). Pour l'utiliser cependant, j'ai besoin de Sql Server pour me fournir les positions des mots et autres données requises par le moteur de recherche.Sql Server recherche plein texte - Obtenir des occurrences de mot/emplacement dans le texte?

Est-il possible d'interroger l'index pour ces données au lieu de simplement obtenir des résultats de recherche?

Merci Roey

+0

Je voulais peut-être juste obtenir par conséquent une table de "DocumentID, WordID, Occurance"? Cela ne devrait pas casser si MS change leur implémentation ... – Roey

Répondre

0

No. Et si vous pouviez, ce qui se passe si Microsoft décide de modifier leurs structures de données internes? Votre code va casser.

Qu'essayez-vous d'accomplir?

+0

J'essaie d'utiliser mon propre moteur de recherche, pas FTS. Mais, je ne peux pas implémenter un indexeur assez rapide, l'indexeur de SS2008 est beaucoup plus rapide, donc je veux en profiter. Qu'en pensez-vous? – Roey

0

Vous ne devriez pas compter sur les structures de données internes des serveurs SQL - elles sont spécialement conçues pour l'utilisation des serveurs SQL et ne sont pas accessibles pour les requêtes.

Si vous voulez un indexeur rapide alors vous aurez probablement plus de succès en utilisant un pré-écrit plutôt que d'essayer d'écrire le vôtre. Donner Lucene.Net un essai.

Questions connexes