J'ai une application qui fait des recherches de préfixes depuis un moment. Récemment, la taille de l'index a été augmentée et il s'est avéré que certains préfixes étaient trop nombreux pour Lucene à gérer. Il me renvoyait une erreur Too Many Clauses, ce qui était très frustrant car je continuais à regarder mes fichiers JAR et à confirmer qu'aucun code inclus n'utilisait une requête booléenne.Avec Lucene: Pourquoi ai-je une erreur Trop de Clauses si je fais une recherche de préfixe?
Pourquoi ne pas jeter quelque chose comme une exception Too Many Hits? Et pourquoi augmenter le nombre entier de clauses max statiques de la requête booléenne fait-il disparaître cette erreur, alors que je n'utilise définitivement qu'une requête de préfixe? Y a-t-il quelque chose de fondamental dans la façon dont les requêtes sont exécutées que je ne comprends pas? Est-ce qu'ils deviennent secrètement des requêtes booléennes?
Et ce 'Query.rewrite()' transformation * toujours * se produit avant que la requête est effectivement exécutée? (Ce serait semble raisonnable, que la requête doit être décomposées aux requêtes primitives avant d'être exécuté.) – KajMagnus