2009-09-24 7 views
3

Est-ce que quelqu'un d'entre vous sait comment rechercher tous les nombres larget qu'un spécifié?lucene plus grand que

par exemple: tout le numéro du document> 65

j'ai essayé comme: DocumentNumber: [65 *] mais je reçois exception, comme Lucene devrait analyser un certain nombre il pas *.

Merci d'avance!

Répondre

1

Je ne sais rien de Lucene, mais juste comme une pensée aléatoire, avez-vous essayé d'utiliser un très grand nombre au lieu de *?

[65 TO 99999999] 

Choisissez le plus grand nombre le type de données peut gérer (en supposant qu'il existe une telle chose) ou au moins un plus grand nombre que ne peut être utilisé.

2

Jon a presque raison, mais vous devez également remplir vos chiffres, car les champs numériques sont classés lexicographiquement. Ainsi, 1243 est considéré comme plus petit que 65. Supposons que vous avez 20000 documents. Vous devez les numéros de documents de pad inférieur à 10000 avec des zéros non significatifs, tels que 00065, 01243, etc. La syntaxe exacte de votre requête sera

documentnumber:[00065 TO 20000] 

, que vous ne voulez pas 65 dans la gamme. S'il vous plaît voir this question pour plus de détails, et le official syntax.