Skip to content

Commit

Permalink
expose multi-query in StringIndex (#58)
Browse files Browse the repository at this point in the history
* expose multi-query in StringIndex

* clang format

* PR feedback
  • Loading branch information
dylanrb123 authored Mar 20, 2024
1 parent e5082bf commit 4d8ada5
Show file tree
Hide file tree
Showing 36 changed files with 184 additions and 85 deletions.
4 changes: 2 additions & 2 deletions docs/java/allclasses-index.html
Original file line number Diff line number Diff line change
@@ -1,11 +1,11 @@
<!DOCTYPE HTML>
<html lang="en">
<head>
<!-- Generated by javadoc (17) on Tue Mar 19 14:22:48 EDT 2024 -->
<!-- Generated by javadoc (17) on Wed Mar 20 11:13:03 EDT 2024 -->
<title>All Classes and Interfaces (voyager 2.0.4 API)</title>
<meta name="viewport" content="width=device-width, initial-scale=1">
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<meta name="dc.created" content="2024-03-19">
<meta name="dc.created" content="2024-03-20">
<meta name="description" content="class index">
<meta name="generator" content="javadoc/AllClassesIndexWriter">
<link rel="stylesheet" type="text/css" href="stylesheet.css" title="Style">
Expand Down
4 changes: 2 additions & 2 deletions docs/java/allpackages-index.html
Original file line number Diff line number Diff line change
@@ -1,11 +1,11 @@
<!DOCTYPE HTML>
<html lang="en">
<head>
<!-- Generated by javadoc (17) on Tue Mar 19 14:22:48 EDT 2024 -->
<!-- Generated by javadoc (17) on Wed Mar 20 11:13:03 EDT 2024 -->
<title>All Packages (voyager 2.0.4 API)</title>
<meta name="viewport" content="width=device-width, initial-scale=1">
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<meta name="dc.created" content="2024-03-19">
<meta name="dc.created" content="2024-03-20">
<meta name="description" content="package index">
<meta name="generator" content="javadoc/AllPackagesIndexWriter">
<link rel="stylesheet" type="text/css" href="stylesheet.css" title="Style">
Expand Down
4 changes: 2 additions & 2 deletions docs/java/com/spotify/voyager/jni/Index.QueryResults.html
Original file line number Diff line number Diff line change
@@ -1,11 +1,11 @@
<!DOCTYPE HTML>
<html lang="en">
<head>
<!-- Generated by javadoc (17) on Tue Mar 19 14:22:48 EDT 2024 -->
<!-- Generated by javadoc (17) on Wed Mar 20 11:13:03 EDT 2024 -->
<title>Index.QueryResults (voyager 2.0.4 API)</title>
<meta name="viewport" content="width=device-width, initial-scale=1">
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<meta name="dc.created" content="2024-03-19">
<meta name="dc.created" content="2024-03-20">
<meta name="description" content="declaration: package: com.spotify.voyager.jni, class: Index, class: QueryResults">
<meta name="generator" content="javadoc/ClassWriterImpl">
<link rel="stylesheet" type="text/css" href="../../../../stylesheet.css" title="Style">
Expand Down
4 changes: 2 additions & 2 deletions docs/java/com/spotify/voyager/jni/Index.SpaceType.html
Original file line number Diff line number Diff line change
@@ -1,11 +1,11 @@
<!DOCTYPE HTML>
<html lang="en">
<head>
<!-- Generated by javadoc (17) on Tue Mar 19 14:22:48 EDT 2024 -->
<!-- Generated by javadoc (17) on Wed Mar 20 11:13:03 EDT 2024 -->
<title>Index.SpaceType (voyager 2.0.4 API)</title>
<meta name="viewport" content="width=device-width, initial-scale=1">
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<meta name="dc.created" content="2024-03-19">
<meta name="dc.created" content="2024-03-20">
<meta name="description" content="declaration: package: com.spotify.voyager.jni, class: Index, enum: SpaceType">
<meta name="generator" content="javadoc/ClassWriterImpl">
<link rel="stylesheet" type="text/css" href="../../../../stylesheet.css" title="Style">
Expand Down
4 changes: 2 additions & 2 deletions docs/java/com/spotify/voyager/jni/Index.StorageDataType.html
Original file line number Diff line number Diff line change
@@ -1,11 +1,11 @@
<!DOCTYPE HTML>
<html lang="en">
<head>
<!-- Generated by javadoc (17) on Tue Mar 19 14:22:48 EDT 2024 -->
<!-- Generated by javadoc (17) on Wed Mar 20 11:13:03 EDT 2024 -->
<title>Index.StorageDataType (voyager 2.0.4 API)</title>
<meta name="viewport" content="width=device-width, initial-scale=1">
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<meta name="dc.created" content="2024-03-19">
<meta name="dc.created" content="2024-03-20">
<meta name="description" content="declaration: package: com.spotify.voyager.jni, class: Index, enum: StorageDataType">
<meta name="generator" content="javadoc/ClassWriterImpl">
<link rel="stylesheet" type="text/css" href="../../../../stylesheet.css" title="Style">
Expand Down
4 changes: 2 additions & 2 deletions docs/java/com/spotify/voyager/jni/Index.html
Original file line number Diff line number Diff line change
@@ -1,11 +1,11 @@
<!DOCTYPE HTML>
<html lang="en">
<head>
<!-- Generated by javadoc (17) on Tue Mar 19 14:22:48 EDT 2024 -->
<!-- Generated by javadoc (17) on Wed Mar 20 11:13:03 EDT 2024 -->
<title>Index (voyager 2.0.4 API)</title>
<meta name="viewport" content="width=device-width, initial-scale=1">
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<meta name="dc.created" content="2024-03-19">
<meta name="dc.created" content="2024-03-20">
<meta name="description" content="declaration: package: com.spotify.voyager.jni, class: Index">
<meta name="generator" content="javadoc/ClassWriterImpl">
<link rel="stylesheet" type="text/css" href="../../../../stylesheet.css" title="Style">
Expand Down
Original file line number Diff line number Diff line change
@@ -1,11 +1,11 @@
<!DOCTYPE HTML>
<html lang="en">
<head>
<!-- Generated by javadoc (17) on Tue Mar 19 14:22:48 EDT 2024 -->
<!-- Generated by javadoc (17) on Wed Mar 20 11:13:03 EDT 2024 -->
<title>StringIndex.QueryResults (voyager 2.0.4 API)</title>
<meta name="viewport" content="width=device-width, initial-scale=1">
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<meta name="dc.created" content="2024-03-19">
<meta name="dc.created" content="2024-03-20">
<meta name="description" content="declaration: package: com.spotify.voyager.jni, class: StringIndex, class: QueryResults">
<meta name="generator" content="javadoc/ClassWriterImpl">
<link rel="stylesheet" type="text/css" href="../../../../stylesheet.css" title="Style">
Expand Down
56 changes: 42 additions & 14 deletions docs/java/com/spotify/voyager/jni/StringIndex.html
Original file line number Diff line number Diff line change
@@ -1,11 +1,11 @@
<!DOCTYPE HTML>
<html lang="en">
<head>
<!-- Generated by javadoc (17) on Tue Mar 19 14:22:48 EDT 2024 -->
<!-- Generated by javadoc (17) on Wed Mar 20 11:13:03 EDT 2024 -->
<title>StringIndex (voyager 2.0.4 API)</title>
<meta name="viewport" content="width=device-width, initial-scale=1">
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<meta name="dc.created" content="2024-03-19">
<meta name="dc.created" content="2024-03-20">
<meta name="description" content="declaration: package: com.spotify.voyager.jni, class: StringIndex">
<meta name="generator" content="javadoc/ClassWriterImpl">
<link rel="stylesheet" type="text/css" href="../../../../stylesheet.css" title="Style">
Expand Down Expand Up @@ -190,29 +190,37 @@ <h2>Method Summary</h2>
<div class="col-last odd-row-color method-summary-table method-summary-table-tab1 method-summary-table-tab4">
<div class="block">Load a previously constructed index from the provided file location.</div>
</div>
<div class="col-first even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code><a href="StringIndex.QueryResults.html" title="class in com.spotify.voyager.jni">StringIndex.QueryResults</a></code></div>
<div class="col-second even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code><a href="#query(float%5B%5D,int,int)" class="member-name-link">query</a><wbr>(float[]&nbsp;queryVector,
<div class="col-first even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code><a href="StringIndex.QueryResults.html" title="class in com.spotify.voyager.jni">StringIndex.QueryResults</a>[]</code></div>
<div class="col-second even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code><a href="#query(float%5B%5D%5B%5D,int,int,int)" class="member-name-link">query</a><wbr>(float[][]&nbsp;queryVectors,
int&nbsp;numNeighbors,
int&nbsp;ef)</code></div>
int&nbsp;ef,
int&nbsp;numThreads)</code></div>
<div class="col-last even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4">
<div class="block">Find the nearest neighbors of the provided embedding.</div>
<div class="block">Query for against multiple target vectors in parallel.</div>
</div>
<div class="col-first odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code>void</code></div>
<div class="col-second odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code><a href="#saveIndex(java.io.OutputStream,java.io.OutputStream)" class="member-name-link">saveIndex</a><wbr>(<a href="https://docs.oracle.com/javase/8/docs/api/java/io/OutputStream.html" title="class or interface in java.io" class="external-link">OutputStream</a>&nbsp;indexOutputStream,
<a href="https://docs.oracle.com/javase/8/docs/api/java/io/OutputStream.html" title="class or interface in java.io" class="external-link">OutputStream</a>&nbsp;namesListOutputStream)</code></div>
<div class="col-first odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code><a href="StringIndex.QueryResults.html" title="class in com.spotify.voyager.jni">StringIndex.QueryResults</a></code></div>
<div class="col-second odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code><a href="#query(float%5B%5D,int,int)" class="member-name-link">query</a><wbr>(float[]&nbsp;queryVector,
int&nbsp;numNeighbors,
int&nbsp;ef)</code></div>
<div class="col-last odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4">
<div class="block">Save the underlying HNSW index and JSON encoded names list to the provided output streams</div>
<div class="block">Find the nearest neighbors of the provided embedding.</div>
</div>
<div class="col-first even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code>void</code></div>
<div class="col-second even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code><a href="#saveIndex(java.lang.String)" class="member-name-link">saveIndex</a><wbr>(<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html" title="class or interface in java.lang" class="external-link">String</a>&nbsp;outputDirectory)</code></div>
<div class="col-second even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code><a href="#saveIndex(java.io.OutputStream,java.io.OutputStream)" class="member-name-link">saveIndex</a><wbr>(<a href="https://docs.oracle.com/javase/8/docs/api/java/io/OutputStream.html" title="class or interface in java.io" class="external-link">OutputStream</a>&nbsp;indexOutputStream,
<a href="https://docs.oracle.com/javase/8/docs/api/java/io/OutputStream.html" title="class or interface in java.io" class="external-link">OutputStream</a>&nbsp;namesListOutputStream)</code></div>
<div class="col-last even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4">
<div class="block">Save the underlying index and JSON encoded name list to the provided output directory</div>
<div class="block">Save the underlying HNSW index and JSON encoded names list to the provided output streams</div>
</div>
<div class="col-first odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code>void</code></div>
<div class="col-second odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code><a href="#saveIndex(java.lang.String,java.lang.String,java.lang.String)" class="member-name-link">saveIndex</a><wbr>(<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html" title="class or interface in java.lang" class="external-link">String</a>&nbsp;outputDirectory,
<div class="col-second odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code><a href="#saveIndex(java.lang.String)" class="member-name-link">saveIndex</a><wbr>(<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html" title="class or interface in java.lang" class="external-link">String</a>&nbsp;outputDirectory)</code></div>
<div class="col-last odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4">
<div class="block">Save the underlying index and JSON encoded name list to the provided output directory</div>
</div>
<div class="col-first even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code>void</code></div>
<div class="col-second even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code><a href="#saveIndex(java.lang.String,java.lang.String,java.lang.String)" class="member-name-link">saveIndex</a><wbr>(<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html" title="class or interface in java.lang" class="external-link">String</a>&nbsp;outputDirectory,
<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html" title="class or interface in java.lang" class="external-link">String</a>&nbsp;indexFilename,
<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html" title="class or interface in java.lang" class="external-link">String</a>&nbsp;nameListFilename)</code></div>
<div class="col-last odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4">&nbsp;</div>
<div class="col-last even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4">&nbsp;</div>
</div>
</div>
</div>
Expand Down Expand Up @@ -457,6 +465,26 @@ <h3>query</h3>
</section>
</li>
<li>
<section class="detail" id="query(float[][],int,int,int)">
<h3>query</h3>
<div class="member-signature"><span class="modifiers">public</span>&nbsp;<span class="return-type"><a href="StringIndex.QueryResults.html" title="class in com.spotify.voyager.jni">StringIndex.QueryResults</a>[]</span>&nbsp;<span class="element-name">query</span><wbr><span class="parameters">(float[][]&nbsp;queryVectors,
int&nbsp;numNeighbors,
int&nbsp;ef,
int&nbsp;numThreads)</span></div>
<div class="block">Query for against multiple target vectors in parallel.</div>
<dl class="notes">
<dt>Parameters:</dt>
<dd><code>queryVectors</code> - Array of query vectors to search around</dd>
<dd><code>numNeighbors</code> - Number of neighbors to get for each target</dd>
<dd><code>ef</code> - Search depth in the graph</dd>
<dd><code>numThreads</code> - Number of threads to use for the underlying index search. -1 uses all
available CPU cores</dd>
<dt>Returns:</dt>
<dd>Array of QueryResults, one for each target vector</dd>
</dl>
</section>
</li>
<li>
<section class="detail" id="close()">
<h3>close</h3>
<div class="member-signature"><span class="modifiers">public</span>&nbsp;<span class="return-type">void</span>&nbsp;<span class="element-name">close</span>()
Expand Down
Original file line number Diff line number Diff line change
@@ -1,11 +1,11 @@
<!DOCTYPE HTML>
<html lang="en">
<head>
<!-- Generated by javadoc (17) on Tue Mar 19 14:22:48 EDT 2024 -->
<!-- Generated by javadoc (17) on Wed Mar 20 11:13:03 EDT 2024 -->
<title>Uses of Class com.spotify.voyager.jni.Index.QueryResults (voyager 2.0.4 API)</title>
<meta name="viewport" content="width=device-width, initial-scale=1">
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<meta name="dc.created" content="2024-03-19">
<meta name="dc.created" content="2024-03-20">
<meta name="description" content="use: package: com.spotify.voyager.jni, class: Index, class: QueryResults">
<meta name="generator" content="javadoc/ClassUseWriter">
<link rel="stylesheet" type="text/css" href="../../../../../stylesheet.css" title="Style">
Expand Down
Original file line number Diff line number Diff line change
@@ -1,11 +1,11 @@
<!DOCTYPE HTML>
<html lang="en">
<head>
<!-- Generated by javadoc (17) on Tue Mar 19 14:22:48 EDT 2024 -->
<!-- Generated by javadoc (17) on Wed Mar 20 11:13:03 EDT 2024 -->
<title>Uses of Enum com.spotify.voyager.jni.Index.SpaceType (voyager 2.0.4 API)</title>
<meta name="viewport" content="width=device-width, initial-scale=1">
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<meta name="dc.created" content="2024-03-19">
<meta name="dc.created" content="2024-03-20">
<meta name="description" content="use: package: com.spotify.voyager.jni, class: Index, enum: SpaceType">
<meta name="generator" content="javadoc/ClassUseWriter">
<link rel="stylesheet" type="text/css" href="../../../../../stylesheet.css" title="Style">
Expand Down
Original file line number Diff line number Diff line change
@@ -1,11 +1,11 @@
<!DOCTYPE HTML>
<html lang="en">
<head>
<!-- Generated by javadoc (17) on Tue Mar 19 14:22:48 EDT 2024 -->
<!-- Generated by javadoc (17) on Wed Mar 20 11:13:03 EDT 2024 -->
<title>Uses of Enum com.spotify.voyager.jni.Index.StorageDataType (voyager 2.0.4 API)</title>
<meta name="viewport" content="width=device-width, initial-scale=1">
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<meta name="dc.created" content="2024-03-19">
<meta name="dc.created" content="2024-03-20">
<meta name="description" content="use: package: com.spotify.voyager.jni, class: Index, enum: StorageDataType">
<meta name="generator" content="javadoc/ClassUseWriter">
<link rel="stylesheet" type="text/css" href="../../../../../stylesheet.css" title="Style">
Expand Down
4 changes: 2 additions & 2 deletions docs/java/com/spotify/voyager/jni/class-use/Index.html
Original file line number Diff line number Diff line change
@@ -1,11 +1,11 @@
<!DOCTYPE HTML>
<html lang="en">
<head>
<!-- Generated by javadoc (17) on Tue Mar 19 14:22:48 EDT 2024 -->
<!-- Generated by javadoc (17) on Wed Mar 20 11:13:03 EDT 2024 -->
<title>Uses of Class com.spotify.voyager.jni.Index (voyager 2.0.4 API)</title>
<meta name="viewport" content="width=device-width, initial-scale=1">
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<meta name="dc.created" content="2024-03-19">
<meta name="dc.created" content="2024-03-20">
<meta name="description" content="use: package: com.spotify.voyager.jni, class: Index">
<meta name="generator" content="javadoc/ClassUseWriter">
<link rel="stylesheet" type="text/css" href="../../../../../stylesheet.css" title="Style">
Expand Down
Original file line number Diff line number Diff line change
@@ -1,11 +1,11 @@
<!DOCTYPE HTML>
<html lang="en">
<head>
<!-- Generated by javadoc (17) on Tue Mar 19 14:22:48 EDT 2024 -->
<!-- Generated by javadoc (17) on Wed Mar 20 11:13:03 EDT 2024 -->
<title>Uses of Class com.spotify.voyager.jni.StringIndex.QueryResults (voyager 2.0.4 API)</title>
<meta name="viewport" content="width=device-width, initial-scale=1">
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<meta name="dc.created" content="2024-03-19">
<meta name="dc.created" content="2024-03-20">
<meta name="description" content="use: package: com.spotify.voyager.jni, class: StringIndex, class: QueryResults">
<meta name="generator" content="javadoc/ClassUseWriter">
<link rel="stylesheet" type="text/css" href="../../../../../stylesheet.css" title="Style">
Expand Down Expand Up @@ -70,11 +70,19 @@ <h2>Uses of <a href="../StringIndex.QueryResults.html" title="class in com.spoti
<div class="table-header col-first">Modifier and Type</div>
<div class="table-header col-second">Method</div>
<div class="table-header col-last">Description</div>
<div class="col-first even-row-color"><code><a href="../StringIndex.QueryResults.html" title="class in com.spotify.voyager.jni">StringIndex.QueryResults</a></code></div>
<div class="col-second even-row-color"><span class="type-name-label">StringIndex.</span><code><a href="../StringIndex.html#query(float%5B%5D,int,int)" class="member-name-link">query</a><wbr>(float[]&nbsp;queryVector,
<div class="col-first even-row-color"><code><a href="../StringIndex.QueryResults.html" title="class in com.spotify.voyager.jni">StringIndex.QueryResults</a>[]</code></div>
<div class="col-second even-row-color"><span class="type-name-label">StringIndex.</span><code><a href="../StringIndex.html#query(float%5B%5D%5B%5D,int,int,int)" class="member-name-link">query</a><wbr>(float[][]&nbsp;queryVectors,
int&nbsp;numNeighbors,
int&nbsp;ef)</code></div>
int&nbsp;ef,
int&nbsp;numThreads)</code></div>
<div class="col-last even-row-color">
<div class="block">Query for against multiple target vectors in parallel.</div>
</div>
<div class="col-first odd-row-color"><code><a href="../StringIndex.QueryResults.html" title="class in com.spotify.voyager.jni">StringIndex.QueryResults</a></code></div>
<div class="col-second odd-row-color"><span class="type-name-label">StringIndex.</span><code><a href="../StringIndex.html#query(float%5B%5D,int,int)" class="member-name-link">query</a><wbr>(float[]&nbsp;queryVector,
int&nbsp;numNeighbors,
int&nbsp;ef)</code></div>
<div class="col-last odd-row-color">
<div class="block">Find the nearest neighbors of the provided embedding.</div>
</div>
</div>
Expand Down
Loading

0 comments on commit 4d8ada5

Please sign in to comment.