0
Lucene.Net 2.3.1.3에서 2.9.4.1로 업그레이드 한 후 RangeQuery가 더 이상 작동하지 않습니다. 나는 운이없는 NumericRangeQuery와 TermRangeQuery를 시도했다. RangeQuery는 범위의 Long 값을 검색합니다 (ex - [4000 TO 5000]은 4500을 찾아야 함). 같은 문제에Rangequery가 Lucene에서 더 이상 작동하지 않음 2.9.4.1
private static Query BuildNumericRangeQuery(NumericRangeSearchParam.NumericRangeField range)
{
var startTerm = new Term(range.FieldName, NumberTools.LongToString(range.Start));
var endTerm = new Term(range.FieldName, NumberTools.LongToString(range.End));
return new RangeQuery(startTerm, endTerm, true);
}
누구나 다른 실행 : 여기
코드인가? 모든 통찰력은 인정 될 것입니다! 이 문제는 다음과 같이 10 개 개의 문자로 색인 크롤러 패딩에 데이터를 관련이
RangeQuery가 사용되지 않습니다. 대신 TermRangeQuery 또는 NumericRangeQuery를 사용하도록 쿼리를 다시 작성하십시오. http://lucene.apache.org/core/2_9_4/api/all/org/apache/lucene/search/RangeQuery.html – sisve
결과없이 NumericRangeQuery와 TermRangeQuery를 모두 시도했습니다. 나는 데이터가 10 문자로 채워져있는 것을 발견했다. var transformation = (int) Math.Floor (rating * 1000); var result = ToLexographical (transformation, 10); ... 0000004500을 예로들 수 있습니다. –
예, 색인 생성 중에도 동일한 패딩이 적용됩니다. 맞습니까? – sisve