Bonjour,

J'ai un catalogue FULLTEXT qui référence 2 colonnes de la même table. Tout fonctionne bien sauf certains mots où on dirait que l'indexation ampute le terme dès qu'il y a un accent. Du coup, une requête (FREETEXT, LIKE...) sur le terme complet ne retourne rien, mais les requêtes sur la partie non-amputée marchent.

Ex :

Code : Sélectionner tout - Visualiser dans une fenêtre à part
select mycolumn from mytable where Id = 2028
mycolumn
------------------------------
<P>Anaïs et Alizé</P>
Code : Sélectionner tout - Visualiser dans une fenêtre à part
select * from sys.dm_fts_index_keywords_by_document(DB_ID(),Object_iD('mytable'))where display_term like 'Anaïs%' or display_term like 'Alizé%'
keyword display_term column_id document_id occurrence_count
--------------------------------------------------------------------------------------------------
(no results)
Code : Sélectionner tout - Visualiser dans une fenêtre à part
select * from sys.dm_fts_index_keywords_by_document(DB_ID(),Object_iD('mytable'))where display_term like 'Ana%' or display_term like 'Aliz%'
keyword display_term column_id document_id occurrence_count
-------------------------------------------------------------------------------------------------------------------------
0x0061006C0069007A aliz 22 20259 1 <== mot amputé ici
0x0061006E0061 ana 22 20259 1 <== et ici
J'ai essayé de repeupler l'index manuellement et de le rebuilder, sans succès.

Bizarrement, j'ai une autre base sur un serveur de recette avec exactement les mêmes données et le même catalogue FULLTEXT et les termes complets apparaissent bien comme référencés par l'index :

Code : Sélectionner tout - Visualiser dans une fenêtre à part
select * from sys.dm_fts_index_keywords_by_document(DB_ID(),Object_iD('mytable'))where display_term like 'Anaïs%' or display_term like 'Alizé%'
keyword display_term column_id document_id occurrence_count
---------------------------------------------------------------------------------------------------------------------
0x0061006C0069007A0065 alize 22 20259 1
0x0061006E006100690073 anais 22 20259 1
Quelques détails sur mon environnement :

  • Microsoft SQL Server 2008 (SP3) - 10.0.5828.0 (X64) Standard Edition (64-bit) on Windows NT 6.1 <X64> (Build 7601: Service Pack 1)
  • Server Collation : SQL_Latin1_General_CP1_CI_AI
  • Catalogue en Accent Sensitive = false,
  • Langage Word Breaker : French pour les 2 colonnes
  • Catalog track changes : Automatic
  • Catalog Stoplist : SYSTEM


Quelqu'un a-t-il déjà rencontré ce cas ?

Merci d'avance pour votre aide.