mirror of
https://github.com/apache/lucene.git
synced 2025-02-22 10:15:27 +00:00
SOLR-2134: trie fields should get sortMissingLast/First flags from field
git-svn-id: https://svn.apache.org/repos/asf/lucene/dev/trunk@1076514 13f79535-47bb-0310-9956-ffa450edef68
This commit is contained in:
parent
4a67d10999
commit
b03e13577c
@ -150,7 +150,6 @@ public final class SchemaField extends FieldProperties {
|
||||
"can not sort on multivalued field: "
|
||||
+ getName());
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
/**
|
||||
|
@ -79,7 +79,18 @@ public class TrieDateField extends DateField {
|
||||
@Override
|
||||
public SortField getSortField(SchemaField field, boolean top) {
|
||||
field.checkSortability();
|
||||
return new SortField(new LongValuesCreator( field.getName(), FieldCache.NUMERIC_UTILS_LONG_PARSER, CachedArrayCreator.CACHE_VALUES_AND_BITS ), top);
|
||||
|
||||
int flags = CachedArrayCreator.CACHE_VALUES_AND_BITS;
|
||||
boolean sortMissingLast = field.sortMissingLast();
|
||||
boolean sortMissingFirst = field.sortMissingFirst();
|
||||
|
||||
Object missingValue = null;
|
||||
if( sortMissingLast ) {
|
||||
missingValue = top ? Long.MIN_VALUE : Long.MAX_VALUE;
|
||||
} else if( sortMissingFirst ) {
|
||||
missingValue = top ? Long.MAX_VALUE : Long.MIN_VALUE;
|
||||
}
|
||||
return new SortField(new LongValuesCreator(field.getName(), FieldCache.NUMERIC_UTILS_LONG_PARSER, flags), top).setMissingValue(missingValue);
|
||||
}
|
||||
|
||||
@Override
|
||||
|
@ -127,8 +127,8 @@ public class TrieField extends FieldType {
|
||||
|
||||
int flags = CachedArrayCreator.CACHE_VALUES_AND_BITS;
|
||||
Object missingValue = null;
|
||||
boolean sortMissingLast = on( SORT_MISSING_LAST, properties );
|
||||
boolean sortMissingFirst = on( SORT_MISSING_FIRST, properties );
|
||||
boolean sortMissingLast = field.sortMissingLast();
|
||||
boolean sortMissingFirst = field.sortMissingFirst();
|
||||
|
||||
switch (type) {
|
||||
case INTEGER:
|
||||
|
Loading…
x
Reference in New Issue
Block a user