0

luceneインデックスにNumericField書き込みを使用します。Integer

doc.add(
    new NumericField("id",Integer.MAX_VALUE,Field.Store.YES,true)
        .setIntValue(123)
);

問題が発生しました。idfiled(NumericField)で検索式を作成するにはどうすればよいですか?

私は試した:

id:123id:intToPrefixCoded(123)

しかし、返品には何もありません

参照:

4

1 に答える 1

2

数値フィールドの内部表現はテキスト表現とは異なるため、これは機能しません。数値クエリを手動で作成するか、Luceneクエリパーサーを拡張する必要があります。(Term、Range、...)メソッドを拡張new*Queryし、フィールド名に対してif / elseテストを実行して、数値クエリと通常のクエリのどちらを作成する必要があるかを確認するだけです。

詳細については、 Lucenewikiを参照してください。

于 2012-07-02T09:19:55.383 に答える