2015-10-27 3 views
2

J'ai une base de données d'environ 10.000 enregistrements. Chaque enregistrement a un texte d'environ 40 pages chacun. J'ai besoin de mettre en œuvre la recherche en texte intégral dans ma base de données comme la requête prend beaucoup de temps. J'ai créé l'index, following these instructions et essayé de rechercher en utilisant la recherche de texte intégral. Bien qu'il ait augmenté la vitesse d'affichage des résultats. Mais je ne suis pas capable de chercher des phrases dans ma table.sql recherche plein texte ne cherche pas expression exacte

J'utilise la requête suivante pour ma recherche expression exacte

select * from ptcsoftcitation 
WHERE CONTAINS(Judgment,'"said contention raised by the counsel"'); 

Il est de donner tous les résultats qui contient tous les mots, mais pas phrase exacte. Il se comporte comme ' "dit" et "affirmation" et "élevé" et "conseil"'

S'il vous plaît aidez-moi ..

+0

Sonne comme un problème avec les mots vides (mots comme "par" et "le" qui sont supprimé de l'index par défaut) bien que je ne puisse pas reproduire exactement ce problème. Pouvez-vous fournir la langue utilisée dans votre index de texte intégral, la phrase complète qui contient 'dit conflit soulevé par le conseil ', et votre version de SQL Server? – Keith

+0

Pour être clair, je veux dire le paramètre * language * utilisé dans votre index de texte intégral. – Keith

Répondre

0

Supposons que je 3 enregistrer:

bc 
abc 
bcd 
  • Recherche exactement:

      = 'bc' will return bc 
    
  • Recherche de près:

      LIKE 'bc' will return bc 
    
  • Recherche contient:

      LIKE '%bc' will return bc and abc 
          LIKE 'bc%' will return bc and bcd 
          LIKE '%bc%' will return bc, abc and bcd 
    

Je pense que votre code devrait:

SELECT * FROM ptcsoftcitation 
WHERE Judgment LIKE '%said contention raised by the counsel%' 
+1

La question concerne la 'recherche en texte intégral' qui est différente de' LIKE'. –

+0

Vous pouvez utiliser 'LIKE' pour effectuer une recherche en texte intégral –

+1

Vous pouvez, mais seulement si la table est petite ou si vos utilisateurs ont des dizaines de minutes pour attendre le résultat. –