|
|
Publié sur 04/10/2015 21:03:04
|
|
|

1. J’ai lu quelques bons articles,
Aperçu de la recherche en texte intégral de SQL Server 2008 http://www.cnblogs.com/galaxyyao/archive/2009/02/13/1390139.html
Index intégral http://www.cnblogs.com/liulun/articles/1368655.html
D’abord, copiez un paragraphe :
Q : Pourquoi la recherche en texte intégral ? R : Parce que la vitesse de requête du texte est lente (il n’est pas recommandé de construire un index sur le texte, ce qui en est la raison) Q : Y a-t-il une différence par rapport à 2005 ? Un; Bien sûr, il y a une différence, et le nom est précédé d’un intégré. Auparavant, 05 disposait d’un fichier d’index et d’un moteur séparés, mais en 08, il a été intégré au groupe de fichiers. Q : Quel est le principe ? R : Basé sur des mots-clés Q : Comment cela se rapporte-t-il aux indices ordinaires ? R : L’objectif est d’améliorer la rapidité des requêtes. Les index en texte intégral présentent de nombreuses caractéristiques similaires aux index La recherche en texte intégral utilise la recherche sémantique (cette technique semble très profonde) et peut également être utilisée pour des documents binaires. Q : À quoi sert-il ? R : Pour donner l’exemple le plus simple, recherchez des articles, le jumelage flou, les quantités rapides et grandes peuvent également se classer.
Deux. Ensuite, allez sur MSDN pour voir un peu de Dongdong :
Aperçu de l’index intégral
http://msdn.microsoft.com/zh-cn/library/cc879306.aspx
Certaines des citations suivantes sont copiées comme suit :
1. Dans SQL Server 2008, le moteur de texte intégral est entièrement intégré au moteur de base de données. Le moteur de texte intégral est désormais intégré à un processus SQL Server (sqlservr.exe) au lieu d’un processus séparé (msftesql.exe). En intégrant le moteur de texte intégral au moteur de base de données, la gestion du texte intégral est améliorée, les requêtes hybrides sont optimisées et les performances globales sont améliorées. De : http://msdn.microsoft.com/zh-cn/library/ms142587.aspx
2. Les étapes de création de la recherche en texte intégral, trop paresseux pour prendre des captures d’écran, voir si d’autres l’ont fait, citer directement, mais à partir de la deuxième page c’est différent de mon site local, je ne peux pas faire un clic droit direct sur le tableau pour créer une recherche en texte intégral, la norme par défaut est grisée, je ne peux créer qu’un index dans le catalogue d’index texte intégral en stockage. http://www.sql-server-performance.com/2010/full-text-search-2008/
3. Au début, je pensais que le répertoire de recherche en texte intégral devait être un répertoire sur le disque dur correspondant, ce qui est similaire au concept de locune. Mais en réalité, depuis SQL Server 2008, le répertoire texte intégral est un objet virtuel et n’appartient à aucun groupe de fichiers. Une table des matières en texte intégral est un concept logique qui représente un ensemble d’index en texte intégral. Source :
http://msdn.microsoft.com/zh-cn/library/ms142497.aspx
4. Vous ne pouvez créer qu’un index en texte intégral pour une vue tableau ou index, mais pas un index texte intégral pour une vue normale.
Un index en texte intégral est un type particulier d’index fonctionnel basé sur des marqueurs, généré et maintenu par le moteur de texte intégral. Pour créer une recherche en texte intégral sur une table ou une vue, la table ou la vue doit avoir un index unique, non annulable, à colonne unique. Le moteur de texte intégral doit utiliser cet index unique pour associer chaque ligne du tableau à une clé compressible unique. Les index en texte intégral peuvent inclure les colonnes Char, Varchar, Nchar, Nvarchar, Text, Ntext, Image, XML, Varbinary et Varbinary(max).
5. Pour créer un index en texte intégral sur le tableau A, il y a une prémisse, c’est-à-dire qu’il doit y avoir au moins un index unique sur le tableau A, c’est-à-dire que s’il n’y a pas d’index sur le tableau A, il ne faut pas créer d’index en texte intégral sur le tableau A.
Dans 6.SQL Server 2008, la taille de l’index en texte intégral est limitée uniquement par les ressources mémoire disponibles de l’ordinateur exécutant l’instance SQL Server. http://msdn.microsoft.com/zh-cn/library/cc879306.aspx
7. Interroger plusieurs colonnes (recherche en texte intégral) En spécifiant une liste de colonnes à rechercher, vous pouvez interroger plusieurs colonnes en utilisant le prédicat CONTAINS. Ces colonnes doivent provenir du même tableau.
Utilisez des parenthèses, SELECT Name, Color FROM Production.Product WHERE CONTAINS((Name, Color), 'Red') ;
Ou utilisez le signe *, SELECT Name, Colorer FROM Production.Product WHERE CONTAINS(*, 'Red') ;
Source : http://msdn.microsoft.com/zh-cn/library/ms142488.aspx
9. Interroger plusieurs colonnes pour plusieurs tables
Il ne peut CONTAIN ou CONTAINS, comme WHERE CONTAINS(t1. Nom, « Red ») ou CONTAINS(t2. Nom, « Rouge ») ;
10. Optimisation des performances des requêtes en texte intégral
Utilisez ALTER FULLTEXT CATALOG REORGANIZE pour réorganiser le catalogue en texte intégral.
MODIFIER FULLTEXT CATALOG REBUILD CLIENT AVEC ACCENT_SENSITIVITY=OFF
Pour plus d’informations, regardez simplement ceci : http://msdn.microsoft.com/zh-cn/library/cc879244.aspx
11. Effectuer une recherche de préfixe http://msdn.microsoft.com/zh-cn/library/ms142492.aspx
Vous pouvez utiliser la recherche en texte intégral pour rechercher des mots ou expressions avec un préfixe spécifié.
Lorsque vous effectuez une recherche par préfixe, tous les éléments de la colonne contenant du texte commençant par le préfixe spécifié sont retournés. Par exemple, pour rechercher toutes les lignes contenant le préfixe top (comme topple, topping, et top lui-même), la requête ressemblerait à ceci :
SELECT * FROM Product WHERE CONTAINS (ProductName, '"auto*"' ) ; Tout texte correspondant à celui spécifié avant l’astérisque (*) sera retourné.
Note : Si vous n’ajoutez pas de guillemets doubles avant et après le texte et l’astérisque (par exemple CONTAINS (DEscrip{filter}tION, 'top*')), la recherche en texte intégral n’utilisera pas l’astérisque comme joker.
Lorsqu’un préfixe est une phrase, chaque jeton qui compose la phrase est traité comme un préfixe distinct. Toutes les lignes contenant des mots commençant par ces préfixes sont renvoyées. Par exemple, le préfixe « light bread* » cherchera des lignes contenant le texte « light breaded », « lightly breaded » ou « light breaded », mais ne retournera pas « Lightly toasted bread ».
|
Précédent:Une chanson cantonaise de Jacky Cheung, elle est plutôt agréableProchain:Une fille de Lianyungang, dans la province du Jiangsu, a été dépouillée de sa chemise dans les toilettes et battue franchement
|