2017-02-01 10 views
0

私はちょうどluceneの世界に足を踏み入れ、ConstantScoreRangeクエリとその代替方法をlucene 6.2.1で使用することを理解しようとしています。ConstantScoreRangeQueryは非推奨です

はグーグル後、私はConstantScoreRangeが廃止されて、私は、このリンクからNumericRangeQueryまたはTermRangeQueryのいずれかのために行く必要があることが判明:https://lucene.apache.org/core/2_9_4/api/core/deprecated-list.html

私は現在のLucene 6.2.1ライブラリを使用して、このコードスニペットを変更しようとしています:

luceneの要件は、データBEIとして NumericRangeQueryを使用することです私の理解あたりとして6.2.1

に適した形式で

public Query toQuery() { 
     return new ConstantScoreRangeQuery(getName(), lowValue, highValue, true, true); 
} 

ConstantScoreRangeQueryに渡された数値は、数値ではなく、

APIはLucene 6.2.1で廃止されているため、使用する正しいAPIは不明です。

私にこれを手伝ってください。

おかげで、 アビシェーク6.0のよう

答えて

0

は、古い数値型は廃止されていると(例えば、LegacyIntField)の名​​前を変更し、全体的なパフォーマンスが向上しますPointValues、に置き換える必要があります。

たとえば、あなたがこのようなインデックス希望、整数値のためにそれを使用するには:

int myIntValue = 10; 
document.add(new IntPoint("myIntField", myIntValue)); 

そして、それを照会する:

Query query = IntPoint.newRangeQuery("myIntField", 5, 15);