[Lucene] Pseudo-équivalent d'un LIKE '%xxx%' ??

Pseudo-équivalent d'un LIKE '%xxx%' ?? [Lucene] - Java - Programmation

Marsh Posté le 05-10-2011 à 14:49:23    

Bonjour à tous.
 
Je suis confronté à un problème sur Lucene 3.3 (version Java, donc, mais je pense que des connaisseurs sur d'autres langages pourront aussi me renseigner). Je suis débutant en la matière et je dois avouer que je m'y perds un peu dans les différentes façons de procéder ainsi que le nombre de versions chacune assez spécifique.
 
Voici ma problématique, a priori plutôt triviale :
 
Je voudrais, pour implémenter un service type Google-suggest, faire une recherche qui me sortirait, par exemple "abra ca-da bra" si je saisis "ca-da". Il y a le problème des caractères accentués et spéciaux, mais j'en fais mon affaire, ce n'est pas primordial.
 
Pour l'instant j'ai essayé de manipuler des PhraseQuery, des WildCardQuery, des queries parsées, mais rien à faire je n'arrive jamais au comportement que je recherche.
Le principal problème que je rencontre est que la plupart des queries splittent la chaîne en entrée au lieu de la considérer comme une chaîne complète.
Problème également avec les caractères "-", les seuls caractères spéciaux qui risquent de poser problème, j'ai beau les escaper rien n'y fait, quand Lucene voit un "-" systématiquement je n'ai aucun résultat.
 
Bref tout ce que je veux c'est l'équivalent d'un "LIKE '%ca-da%'", mais point de moyen.
 
Mes données sont indexées pour l'instant avec un StandardAnalyzer, c'est peut-être ça l'une des origines des soucis.
 
Merci d'avance à ceux qui pourront apporter leur pierre à la résolution de ce problème qui commence à me chauffer sérieusement.  :fou:


Message édité par mixoumix le 05-10-2011 à 14:50:57

---------------
Le topic des commentaires priceless sur les sites Web !
Reply

Marsh Posté le 05-10-2011 à 14:49:23   

Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed