Interface VectorSearchTableSource
-
- All Superinterfaces:
DynamicTableSource
@PublicEvolving public interface VectorSearchTableSource extends DynamicTableSource
ADynamicTableSourcethat searches rows of an external storage system by one or more vectors during runtime.Compared to
ScanTableSource, the source does not have to read the entire table and can lazily fetch individual values from a (possibly continuously changing) external table when necessary.Note: Compared to
ScanTableSource, aVectorSearchTableSourceonly supports emitting insert-only changes (see alsoRowKind).In the last step, the planner will call
getSearchRuntimeProvider(VectorSearchContext)to obtain a provider of runtime implementation. The search fields that are required to perform a search are derived from a query by the planner and will be provided in the givenVectorSearchTableSource.VectorSearchContext.getSearchColumns(). The values for those search fields are passed at runtime.
-
-
Nested Class Summary
Nested Classes Modifier and Type Interface Description static interfaceVectorSearchTableSource.VectorSearchContextContext for creating runtime implementation via aVectorSearchTableSource.VectorSearchRuntimeProvider.static interfaceVectorSearchTableSource.VectorSearchRuntimeProviderProvides actual runtime implementation for reading the data.-
Nested classes/interfaces inherited from interface org.apache.flink.table.connector.source.DynamicTableSource
DynamicTableSource.Context, DynamicTableSource.DataStructureConverter
-
-
Method Summary
All Methods Instance Methods Abstract Methods Modifier and Type Method Description VectorSearchTableSource.VectorSearchRuntimeProvidergetSearchRuntimeProvider(VectorSearchTableSource.VectorSearchContext context)Returns aVectorSearchRuntimeProvider.-
Methods inherited from interface org.apache.flink.table.connector.source.DynamicTableSource
asSummaryString, copy
-
-
-
-
Method Detail
-
getSearchRuntimeProvider
VectorSearchTableSource.VectorSearchRuntimeProvider getSearchRuntimeProvider(VectorSearchTableSource.VectorSearchContext context)
Returns aVectorSearchRuntimeProvider. VectorSearchRuntimeProvider is a base interface that should be extended (is this true) by child interfaces for specialized vector searches.There exist different interfaces for runtime implementation which is why
VectorSearchTableSource.VectorSearchRuntimeProviderserves as the base interface.Independent of the provider interface, a source implementation can work on either arbitrary objects or internal data structures (see
org.apache.flink.table.datafor more information).The given
VectorSearchTableSource.VectorSearchContextoffers utilities for the planner to create runtime implementation with minimal dependencies to internal data structures.
-
-