Method FindMatchingPartitions
FindMatchingPartitions(DataSource, float[], int, float, bool, bool, DataFilter, CancellationToken)
Synchronously finds the top matching partitions in the given data source based on cosine similarity to the provided query vector.
public static List<PartitionSimilarity> FindMatchingPartitions(DataSource dataSource, float[] vector, int topK = 3, float minScore = 0.5, bool forceUniqueDataSource = false, bool forceUniqueSection = false, DataFilter filter = null, CancellationToken cancellationToken = default)
Parameters
dataSource
DataSourceA single DataSource to search. Cannot be null.
vector
float[]The query embedding vector as an array of floats.
topK
intThe maximum number of top results to return. Defaults to 3; minimum value is 1.
minScore
floatThe minimum similarity threshold (0 to 0.99). Results with similarity below this value are discarded.
forceUniqueDataSource
boolIf true, forces returned matches to come from at most one data source.
forceUniqueSection
boolIf true, forces returned matches to come from at most one section per data source.
filter
DataFilterOptional DataFilter to exclude specific data sources or sections.
cancellationToken
CancellationTokenA CancellationToken to cancel the operation.
Returns
- List<PartitionSimilarity>
A list of PartitionSimilarity objects representing the top matching partitions, or null if no partitions meet the criteria.
Exceptions
- ArgumentNullException
Thrown if
dataSource
is null.
FindMatchingPartitions(IEnumerable<DataSource>, float[], int, float, bool, bool, DataFilter, CancellationToken)
Synchronously finds the top matching partitions from the given data sources based on cosine similarity to the provided query vector.
public static List<PartitionSimilarity> FindMatchingPartitions(IEnumerable<DataSource> dataSources, float[] vector, int topK = 3, float minScore = 0.5, bool forceUniqueDataSource = false, bool forceUniqueSection = false, DataFilter filter = null, CancellationToken cancellationToken = default)
Parameters
dataSources
IEnumerable<DataSource>A collection of DataSource instances to search. Cannot be null or empty.
vector
float[]The query embedding vector as an array of floats.
topK
intThe maximum number of top results to return. Defaults to 3; minimum value is 1.
minScore
floatThe minimum similarity threshold (0 to 0.99). Results with similarity below this value are discarded.
forceUniqueDataSource
boolIf true, forces returned matches to come from at most one data source.
forceUniqueSection
boolIf true, forces returned matches to come from at most one section per data source.
filter
DataFilterOptional DataFilter to exclude specific data sources or sections.
cancellationToken
CancellationTokenA CancellationToken to cancel the operation.
Returns
- List<PartitionSimilarity>
A list of PartitionSimilarity objects representing the top matching partitions, or null if no partitions meet the criteria.
Exceptions
- ArgumentNullException
Thrown if
dataSources
is null or contains no elements.