@Override public BTreeAccessor createAccessor(IIndexAccessParameters iap) { return new DiskBTreeAccessor(this, iap.getModificationCallback(), iap.getSearchOperationCallback()); }
@Override protected void addAdditionalIndexAccessorParams(IIndexAccessParameters iap) throws HyracksDataException { iap.getParameters().put(HyracksConstants.HYRACKS_TASK_CONTEXT, ctx); } }
@Override public ILSMIndexAccessor createAccessor(IIndexAccessParameters iap) { return new LSMRTreeAccessor(getHarness(), createOpContext(iap.getSearchOperationCallback(), version), buddyBTreeFields); }
@Override public ILSMIndexAccessor createAccessor(IIndexAccessParameters iap) { ExternalBTreeOpContext opCtx = createOpContext(iap.getSearchOperationCallback(), version); return new LSMTreeIndexAccessor(getHarness(), opCtx, cursorFactory); }
@Override public RTreeAccessor createAccessor(IIndexAccessParameters iap) { return new RTreeAccessor(this, iap.getModificationCallback(), iap.getSearchOperationCallback()); }
@Override public ILSMIndexAccessor createAccessor(IIndexAccessParameters iap) throws HyracksDataException { return new LSMTreeIndexAccessor(getHarness(), createOpContext(iap.getSearchOperationCallback(), version), ctx -> new LSMBTreeWithBuddySearchCursor(ctx, buddyBTreeFields)); }
public PartitionedInMemoryInvertedIndexAccessor(InMemoryInvertedIndex index, IIndexOperationContext opCtx, IIndexAccessParameters iap) throws HyracksDataException { super(index, opCtx, (IHyracksTaskContext) iap.getParameters().get(HyracksConstants.HYRACKS_TASK_CONTEXT)); }
@Override public BTreeAccessor createAccessor(IIndexAccessParameters iap) { return new BTreeAccessor(this, iap.getModificationCallback(), iap.getSearchOperationCallback()); }
@Override public OnDiskInvertedIndexAccessor createAccessor(IIndexAccessParameters iap) throws HyracksDataException { return new OnDiskInvertedIndexAccessor(this, (IHyracksTaskContext) iap.getParameters().get(HyracksConstants.HYRACKS_TASK_CONTEXT)); }
@Override protected LSMRTreeOpContext createOpContext(IIndexAccessParameters iap) { return new LSMRTreeOpContext(this, memoryComponents, rtreeLeafFrameFactory, rtreeInteriorFrameFactory, btreeLeafFrameFactory, (IExtendedModificationOperationCallback) iap.getModificationCallback(), iap.getSearchOperationCallback(), getTreeFields(), getFilterFields(), getHarness(), comparatorFields, linearizerArray, getFilterCmpFactories(), tracer); }
@Override public PartitionedOnDiskInvertedIndexAccessor createAccessor(IIndexAccessParameters iap) throws HyracksDataException { return new PartitionedOnDiskInvertedIndexAccessor(this, (IHyracksTaskContext) iap.getParameters().get(HyracksConstants.HYRACKS_TASK_CONTEXT)); }
@Override public LSMBTreeOpContext createOpContext(IIndexAccessParameters iap) { int numBloomFilterKeyFields = hasBloomFilter ? ((LSMBTreeWithBloomFilterDiskComponentFactory) componentFactory).getBloomFilterKeyFields().length : 0; return new LSMBTreeOpContext(this, memoryComponents, insertLeafFrameFactory, deleteLeafFrameFactory, (IExtendedModificationOperationCallback) iap.getModificationCallback(), iap.getSearchOperationCallback(), numBloomFilterKeyFields, getTreeFields(), getFilterFields(), getHarness(), getFilterCmpFactories(), tracer); }
@Override public InMemoryInvertedIndexAccessor createAccessor(IIndexAccessParameters iap) throws HyracksDataException { return new InMemoryInvertedIndexAccessor(this, new InMemoryInvertedIndexOpContext(btree, tokenCmpFactories, tokenizerFactory), (IHyracksTaskContext) iap.getParameters().get(HyracksConstants.HYRACKS_TASK_CONTEXT)); }
public LSMInvertedIndexOpContext(ILSMIndex index, List<ILSMMemoryComponent> mutableComponents, IIndexAccessParameters iap, int[] invertedIndexFields, int[] filterFields, IBinaryComparatorFactory[] filterComparatorFactories, ITracer tracer) throws HyracksDataException { super(index, invertedIndexFields, filterFields, filterComparatorFactories, iap.getSearchOperationCallback(), (IExtendedModificationOperationCallback) iap.getModificationCallback(), tracer); mutableInvIndexAccessors = new IInvertedIndexAccessor[mutableComponents.size()]; deletedKeysBTreeAccessors = new IIndexAccessor[mutableComponents.size()]; for (int i = 0; i < mutableComponents.size(); i++) { LSMInvertedIndexMemoryComponent mutableComponent = (LSMInvertedIndexMemoryComponent) mutableComponents.get(i); mutableInvIndexAccessors[i] = mutableComponent.getIndex().createAccessor(NoOpIndexAccessParameters.INSTANCE); deletedKeysBTreeAccessors[i] = mutableComponent.getBuddyIndex().createAccessor(NoOpIndexAccessParameters.INSTANCE); } // Project away the document fields, leaving only the key fields. LSMInvertedIndexMemoryComponent c = (LSMInvertedIndexMemoryComponent) mutableComponents.get(0); int numKeyFields = c.getIndex().getInvListTypeTraits().length; int[] keyFieldPermutation = new int[numKeyFields]; for (int i = 0; i < numKeyFields; i++) { keyFieldPermutation[i] = NUM_DOCUMENT_FIELDS + i; } keysOnlyTuple = new PermutingTupleReference(keyFieldPermutation); this.iap = iap; }