INNER CODE UNIT · TypeScript

knnSearch

margelo/react-native-nitro-sqlite · packages/react-native-nitro-sqlite-vec/src/index.ts:94

export function knnSearch(
  db: NitroSQLiteConnection,
  table: string,
  query: string | number[],
  k: number,
  options?: KnnSearchOptions,
): KnnMatch[] {
  const column = options?.column ?? 'embedding'
  const vector = typeof query === 'string' ? query : JSON.stringify(query)
  const result = db.execute(
    `SELECT rowid, distance FROM ${table} WHERE ${column} MATCH ? AND k = ? ORDER BY distance`,
    [vector, k],
  )
  return (result.rows?._array ?? []) as unknown as KnnMatch[]
}

View source record →

📰 Research Paper
Loading…
⏳ Fetching content…