3

Lucene.Net で数値フィールドにインデックスを付けて検索する効率的な方法を探しています。今のところ、整数値のみが必要です。

値の範囲 (x と y の間、x 以上...) で検索したい。現在、数値をそのままインデックス化し、2 つの値の間の値ごとに節を手動で作成していますが、すぐに多くの節が生成され、1000 からたとえば、5000。それを行うためのより良い方法があると確信しています...

4

1 に答える 1

6

RangeQueryで解決しました。また、次の構文を使用してクエリ パーサーを使用して実行することもできます。

FieldName:[startValue TO endValue]

範囲クエリは文字列で動作するため、インデックスとクエリの両方で数値を正規化する必要があることに注意してください。私の場合、.ToString("00000") で 5 桁に正規化しました。負の数と小数には特別な処理が必要になりますが、私の場合は問題ありませんでした。

于 2009-10-19T17:45:35.040 に答える