2017-02-01 1 views
0

저는 lucene 세계로 들어서서 lucene 6.2.1에서 ConstantScoreRange 쿼리와 그 대안의 사용법을 이해하려고했습니다.ConstantScoreRangeQuery가 사용되지 않습니다.

인터넷 검색 후 나는 ConstantScoreRange이되지 않으며 나는이 링크에서 하나 NumericRangeQuery 또는 TermRangeQuery 가야 발견 : https://lucene.apache.org/core/2_9_4/api/core/deprecated-list.html

나는 현재 루씬 6.2.1 라이브러리를 사용하여이 코드 변경하려고 :

을 루씬 요구 사항은 데이터 BEI로 NumericRangeQuery을 사용하는 것입니다 내 이해 당으로 6.2.1

에 적합한 형식으로

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

ng는 ConstantScoreRangeQuery으로 전달되었으며 숫자가 아니며 용어는 아닙니다.

API는 Lucene 6.2.1에서 더 이상 사용되지 않으므로 어떤 API가 올바른지 확실하지 않습니다.

도와주세요.

감사합니다, Abhishek 6.0로

답변

0

는, 기존의 숫자 유형이 사용되지 않으며 (예를 들어, LegacyIntField)을 이름을 변경하고, 전반적으로 더 나은 성능을 제공 PointValues로 교체해야합니다.

는 예를 들어, 정수 값을 사용하려면, 당신은 것 같은 인덱스 :

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

그리고 쿼리 :

Query query = IntPoint.newRangeQuery("myIntField", 5, 15); 
관련 문제