Bonjour,
Dans le cadre d'une recherche FULLTEXT entre deux tables, la recherche n'aboutit pas.
J'ai une table temporaire MyISAM avec index FULLTEXT contenant environ 8 000 000 de séquences ADN non redondantes.
target_sequence_myisam
id INT,
seq TEXT,
FULLTEXT(seq)
Cette table est la copie (INSERT INTO target_sequence_myisam SELECT * FROM target_sequence) d'une table InnoDB.
En faisant une recherche pour une séquence étant dans cette table :
L'ajout de 'IN BOOLEAN MODE' ne change rien.
Code : Sélectionner tout - Visualiser dans une fenêtre à part select id from target_sequence_myisam where MATCH(seq) AGAINST('GTAGGGTGCAAGGCAGCCAGGTCTCCGATCCTTTCCGCAGCATGGGGAAGCACAGGCTCCGGAGCCTGGCCCTGCTGCCACTGCTGCTGCGGCTGCTGCTGCTGCTGCTGCCCACCGATGCCTCAGCTCCACAAAAACC');
J'ai 'empty set', alors qu'une recherche WHERE seq = 'GTAGGGTGCAAGGCAGCCAGGTCTCCGATCCTTTCCGCAGCATGGGGAAGCACAGGCTCCGGAGCCTGGCCCTGCTGCCACTGCTGCTGCGGCTGCTGCTGCTGCTGCTGCCCACCGATGCCTCAGCTCCACAAAAACC' fonctionne...
Dans la doc, il est écrit que la recherche FULLTEXT ne renvoie rien si 50% ou plus de matchs sont effectifs, en revanche rien sur la limitation en terme de caractères trop grands, au contraire, la taille du AGAINST devant être au moins de 4 caractères.
Pourtant, en ayant fait un petit script sur un nombre limité d'entrée, sur 10 recherches, la recherche FULLTEXT aboutit pour une séquence de 53 caractères, sachant que la grande majorité est plus grande que 100 caractères (jusqu'à 12 000).
Pourriez-vous m'éclairer là-dessus ?
En vous remerciant,
C. Tobini
Partager