Skip to main content
topk-js / query_fn

Functions

bm25Score()

function bm25Score(): FunctionExpression;
Computes the BM25 score for a keyword search. Returns FunctionExpression

multiVectorDistance()

function multiVectorDistance(
   field: string, 
   query: Matrix | number[][], 
   candidates?: number): FunctionExpression;
Calculate the multi-vector distance between a field and a query matrix. The query matrix can be an array of number arrays (defaults to f32), or a Matrix instance. To specify a different matrix type, use matrix() with valueType. The optional candidates parameter limits the number of candidate vectors considered during retrieval.
import { field, fn, select } from "topk-js/query";

client.collection("books").query(
  select({
    title: field("title"),
    title_distance: fn.multiVectorDistance(
      "title_embedding",
      [[0.1, 0.2, 0.3, ...], [0.4, 0.5, 0.6, ...]],
      100
    )
  })
  .topk(field("title_distance"), 10)
)
Parameters
ParameterType
fieldstring
queryMatrix | number[][]
candidates?number
Returns FunctionExpression

semanticSimilarity()

function semanticSimilarity(field: string, query: string): FunctionExpression;
Computes the semantic similarity between a field and a query string. Parameters
ParameterType
fieldstring
querystring
Returns FunctionExpression

vectorDistance()

function vectorDistance(
   field: string, 
   query: 
  | number[]
  | List
  | SparseVector
  | Record<number, number>, 
   options?: VectorDistanceOptions): FunctionExpression;
Computes the vector distance between a field and a query vector. Parameters
ParameterType
fieldstring
query| number[] | List | SparseVector | Record<number, number>
options?VectorDistanceOptions
Returns FunctionExpression

Interfaces

VectorDistanceOptions

Properties
PropertyType
skipRefine?boolean