Bonjour à tous,
J'ai commencé a travailler avec Lucene et je suis tomber sur plusieurs probleme mais là j'ai un probleme bizarre avec le queryParser. Il semblerait qu'il est impossible de faire des recherches sur des champs quand la valeur est certain charactère. Je vous donne un petit exemple:
+titre:"Mon titre de livre" +actif:A
Si on parse une query comme celle-ci il semblerait que le critère de recherche sur le champs "actif" est tout simplement ignorer. Avez vous une idée pourquoi et comment règler le probleme? Voici un exemple de code java pour vous. J'ai essayer aussi en utilisant les objets Term, BooleanQuery, BooleanClause mais la il semblerait qu'il ne trouve pas de resultat alors que mon fichier contient bien les données.
Merci d'avance
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6 IndexSearcher indexSearcher = new IndexSearcher(FSDirectory.open(new File("SOME PATH TO LUCENE INDEXED FILE"))); StandardAnalyzer analyzer = new StandardAnalyzer(Version.LUCENE_30); String luceneQuery = "+titre:\"Mon titre de livre\" +actif:A"; Query q = new QueryParser(Version.LUCENE_30, "*", analyzer).parse(luceneQuery); TopScoreDocCollector collector = TopScoreDocCollector.create(1, true); indexSearcher.search(q, collector);
Partager