Salut tt le monde,
j'utilise lucene et je voulais savoir comment appliquer un filtre a ma query (au niveau implementation car j'ai jamais utiliser un filtre !!)
Hits hits = indexSearcher.search(query,filtre);
Salut tt le monde,
j'utilise lucene et je voulais savoir comment appliquer un filtre a ma query (au niveau implementation car j'ai jamais utiliser un filtre !!)
Hits hits = indexSearcher.search(query,filtre);
Est ce que personne n'a utilisé lucene ou quoi ??
c v raiment important pour moi SOS
Je ne comprends pas ton problème avec Filter.
Tu instancie une classe quin implémente l'interface Filter et tu la passes à la méthode search.
Exemple:
Ce code te retourne que les documents qui sont du type java.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3 FileTypeFilter filter = new FileTypeFilter("suffix", "java"); Hits hits = indexSearcher.search(query, filter);
La classe DateFilter ne retourne que les documents dont la date est comprise entre desx valeurs.
Il faut savoir ce que tu désires effectuer comme filtrage.
Bien le bonjour chez vous
Jowo
Voila mon probleme en detail:
donc j'ai indexer ma base et je veux faire une recherche (en utilisant l'autocompletion d'ajax) dans un champs.
mais par exemple si l'utilisateur tape un mot comme : bil ma*
j'ai une erreur de type : BooleanQuery$TooManyClauses
Donc pour faire face je veux filtrer mes resultats pour pouvoir contourner ce probleme.
Le filtre ne s'applique qu'au résultat. Ton problème provient de ton interrogation.
Comment contruis-tu l'interrgoation?
Peux-tu nous fourrnir le code minimal qui génère ton erreur?
Bien le bonjour chez vous
Jowo
ca est j'ai enfin resolu le probleme et ca venais du fait que les query du type boolean ne peut contenir plus que 1024 clause et mois j'avais plus que ca !!
alors la solution c tout simplement d'augmenter la taille de celle ci:
BooleanQuery.setMaxClauseCount(25000);
Vous avez un bloqueur de publicités installé.
Le Club Developpez.com n'affiche que des publicités IT, discrètes et non intrusives.
Afin que nous puissions continuer à vous fournir gratuitement du contenu de qualité, merci de nous soutenir en désactivant votre bloqueur de publicités sur Developpez.com.
Partager