public final int getDocID(long uid) { for (int i = bound; i >= 0; --i) { int docid = mappers[i].getDocID(uid); if (docid != DocIDMapper.NOT_FOUND) { return docid + starts[i]; } } return DocIDMapper.NOT_FOUND; }
@Override public int getDocID(long uid) { int docid; for (int i = mappers.length - 1; i >= 0; --i) { docid = mappers[i].getDocID(uid); if (docid != DocIDMapper.NOT_FOUND) { return docid; } } return DocIDMapper.NOT_FOUND; } };
public int getDocID(long uid) { for (int i = bound; i >= 0; --i){ int docid = mappers[i].getDocID(uid); if (docid!=DocIDMapper.NOT_FOUND) { return docid+starts[i]; } } return DocIDMapper.NOT_FOUND; }
public int getReaderIndex(long uid) { for (int i = bound; i >= 0; --i) { int docid = mappers[i].getDocID(uid); if (docid != DocIDMapper.NOT_FOUND) { return i; } } return -1; }
@Override public int getDocID(long uid) { int docid; for (int i = mappers.length - 1; i >= 0; --i) { docid = mappers[i].getDocID(uid); if (docid != DocIDMapper.NOT_FOUND) { return docid + reader.getSubReaderBase(i); } } return DocIDMapper.NOT_FOUND; } };
public boolean isDuplicateUID(long uid){ int docid = _docIDMapper.getDocID(uid); return isDuplicate(docid); }
@Override public final String getStringByUID(String fieldName, long uid) { return getString(fieldName, mapper.getDocID(uid)); }
@Override public final double getDoubleByUID(String fieldName, long uid) { return getDouble(fieldName, mapper.getDocID(uid)); }
@Override public final short getShortByUID(String fieldName, long uid) { return getShort(fieldName, mapper.getDocID(uid)); }
@Override public final long getLongByUID(String fieldName, long uid) { return getLong(fieldName, mapper.getDocID(uid)); }
@Override public final float getFloatByUID(String fieldName, long uid) { return getFloat(fieldName, mapper.getDocID(uid)); }
@Override public final int getIntegerByUID(String fieldName, long uid) { return getInteger(fieldName, mapper.getDocID(uid)); }
@Override public final Object[] getArrayByUID(String fieldName, long uid) { return getArray(fieldName, mapper.getDocID(uid)); }
public BytesRef getStoredValue(long uid) throws IOException { int docid = _docIDMapper.getDocID(uid); if (docid < 0) return null; int idx = readerIndex(docid); if (idx < 0) return null; ZoieSegmentReader<R> subReader = _subZoieReaders.get(idx); return subReader.getStoredValue(docid); }
public BytesRef getStoredValue(long uid) throws IOException { int docid = _docIDMapper.getDocID(uid); if (docid < 0) { return null; } int idx = readerIndex(docid); if (idx < 0) { return null; } ZoieSegmentReader<R> subReader = _subZoieReaders.get(idx); return subReader.getStoredValue(docid - readerBase(idx)); }
@Override public byte[] getStoredValue(long uid) throws IOException { int docid = this.getDocIDMaper().getDocID(uid); if (docid < 0) return null; int idx = readerIndex(docid); if (idx < 0) return null; ZoieIndexReader<R> subReader = _subZoieReaders.get(idx); return subReader.getStoredValue(uid); }
public static int[] mapUID(long[] uidArray, DocIDMapper mapper) { IntRBTreeSet idSet = new IntRBTreeSet(); for (long uid : uidArray) { if (uid != ZoieSegmentReader.DELETED_UID) { int docid = mapper.getDocID(uid); if (docid != DocIDMapper.NOT_FOUND) { idSet.add(docid); } } } return idSet.toIntArray(); }
@Override public byte[] getStoredValue(long uid) throws IOException { int docid = this.getDocIDMaper().getDocID(uid); if (docid<0) return null; if (docid>=0){ Document doc = document(docid); if (doc!=null){ return doc.getBinaryValue(AbstractZoieIndexable.DOCUMENT_STORE_FIELD); } } return null; }
public static int[] mapUID(long[] uidArray, DocIDMapper mapper) { IntRBTreeSet idSet = new IntRBTreeSet(); for (long uid : uidArray) { if (uid != ZoieSegmentReader.DELETED_UID) { int docid = mapper.getDocID(uid); if (docid != DocIDMapper.NOT_FOUND) { idSet.add(docid); } } } return idSet.toIntArray(); }
@Override public RandomAccessDocIdSet getRandomAccessDocIdSet(BoboSegmentReader reader) throws IOException { ZoieSegmentReader<?> zoieReader = (ZoieSegmentReader<?>) (reader.getInnerReader()); DocIDMapper docidMapper = zoieReader.getDocIDMapper(); final int docid = docidMapper.getDocID(val); if (docid == DocIDMapper.NOT_FOUND) { return EmptyDocIdSet.getInstance(); } return new SingleDocRandmAccessDocIdSet(docid); } };