本文整理汇总了Java中org.apache.lucene.util.BytesRef.compareTo方法的典型用法代码示例。如果您正苦于以下问题:Java BytesRef.compareTo方法的具体用法?Java BytesRef.compareTo怎么用?Java BytesRef.compareTo使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类org.apache.lucene.util.BytesRef
的用法示例。
在下文中一共展示了BytesRef.compareTo方法的11个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Java代码示例。
示例1: compare
import org.apache.lucene.util.BytesRef; //导入方法依赖的package包/类
@Override
public int compare(int slot1, int slot2) {
if (readerGen[slot1] == readerGen[slot2]) {
return ords[slot1] - ords[slot2];
}
final BytesRef val1 = values[slot1];
final BytesRef val2 = values[slot2];
if (val1 == null) {
if (val2 == null) {
return 0;
}
return missingSortCmp;
} else if (val2 == null) {
return -missingSortCmp;
}
return val1.compareTo(val2);
}
示例2: lookupTerm
import org.apache.lucene.util.BytesRef; //导入方法依赖的package包/类
/** If {@code key} exists, returns its ordinal, else
* returns {@code -insertionPoint-1}, like {@code
* Arrays.binarySearch}.
*
* @param key Key to look up
**/
public long lookupTerm(BytesRef key) {
long low = 0;
long high = getValueCount()-1;
while (low <= high) {
long mid = (low + high) >>> 1;
final BytesRef term = lookupOrd(mid);
int cmp = term.compareTo(key);
if (cmp < 0) {
low = mid + 1;
} else if (cmp > 0) {
high = mid - 1;
} else {
return mid; // key found
}
}
return -(low + 1); // key not found.
}
示例3: lookupTerm
import org.apache.lucene.util.BytesRef; //导入方法依赖的package包/类
/** If {@code key} exists, returns its ordinal, else
* returns {@code -insertionPoint-1}, like {@code
* Arrays.binarySearch}.
*
* @param key Key to look up
**/
public int lookupTerm(BytesRef key) {
int low = 0;
int high = getValueCount()-1;
while (low <= high) {
int mid = (low + high) >>> 1;
final BytesRef term = lookupOrd(mid);
int cmp = term.compareTo(key);
if (cmp < 0) {
low = mid + 1;
} else if (cmp > 0) {
high = mid - 1;
} else {
return mid; // key found
}
}
return -(low + 1); // key not found.
}
示例4: verify
import org.apache.lucene.util.BytesRef; //导入方法依赖的package包/类
private void verify(SortedBinaryDocValues values, int maxDoc) {
for (BytesRef missingValue : new BytesRef[] { new BytesRef(), new BytesRef(RandomStrings.randomAsciiOfLength(random(), 8)) }) {
for (MultiValueMode mode : new MultiValueMode[] {MultiValueMode.MIN, MultiValueMode.MAX}) {
final BinaryDocValues selected = mode.select(values, missingValue);
for (int i = 0; i < maxDoc; ++i) {
final BytesRef actual = selected.get(i);
BytesRef expected = null;
values.setDocument(i);
int numValues = values.count();
if (numValues == 0) {
expected = missingValue;
} else {
for (int j = 0; j < numValues; ++j) {
if (expected == null) {
expected = BytesRef.deepCopyOf(values.valueAt(j));
} else {
if (mode == MultiValueMode.MIN) {
expected = expected.compareTo(values.valueAt(j)) <= 0 ? expected : BytesRef.deepCopyOf(values.valueAt(j));
} else if (mode == MultiValueMode.MAX) {
expected = expected.compareTo(values.valueAt(j)) > 0 ? expected : BytesRef.deepCopyOf(values.valueAt(j));
}
}
}
if (expected == null) {
expected = missingValue;
}
}
assertEquals(mode.toString() + " docId=" + i, expected, actual);
}
}
}
}
示例5: compareValues
import org.apache.lucene.util.BytesRef; //导入方法依赖的package包/类
@Override
public int compareValues(BytesRef val1, BytesRef val2) {
if (val1 == null) {
if (val2 == null) {
return 0;
}
return missingSortCmp;
} else if (val2 == null) {
return -missingSortCmp;
}
return val1.compareTo(val2);
}
示例6: getMin
import org.apache.lucene.util.BytesRef; //导入方法依赖的package包/类
@Override
public BytesRef getMin() throws IOException {
BytesRef minTerm = null;
for(Terms terms : subs) {
BytesRef term = terms.getMin();
if (minTerm == null || term.compareTo(minTerm) < 0) {
minTerm = term;
}
}
return minTerm;
}
示例7: getMax
import org.apache.lucene.util.BytesRef; //导入方法依赖的package包/类
@Override
public BytesRef getMax() throws IOException {
BytesRef maxTerm = null;
for(Terms terms : subs) {
BytesRef term = terms.getMax();
if (maxTerm == null || term.compareTo(maxTerm) > 0) {
maxTerm = term;
}
}
return maxTerm;
}
示例8: compare
import org.apache.lucene.util.BytesRef; //导入方法依赖的package包/类
private static int compare(BytesRef a, BytesRef b, int m) {
return a == null
? b == null ? 0 : -m
: b == null ? m : a.compareTo(b);
}
示例9: compare
import org.apache.lucene.util.BytesRef; //导入方法依赖的package包/类
@Override
public int compare(BytesRef o1, BytesRef o2) {
return o1.compareTo(o2);
}
示例10: isInRange
import org.apache.lucene.util.BytesRef; //导入方法依赖的package包/类
private static boolean isInRange(BytesRef value, BytesRef from, BytesRef to) {
if ((to == null || to.compareTo(value) > 0) && (from == null || from.compareTo(value) <= 0)) {
return true;
}
return false;
}
示例11: compare
import org.apache.lucene.util.BytesRef; //导入方法依赖的package包/类
private static int compare(BytesRef a, BytesRef b, int m) {
return a == null
? b == null ? 0 : -m
: b == null ? m : a.compareTo(b);
}