mirror of
https://github.com/lancedb/lancedb.git
synced 2025-12-23 05:19:58 +00:00
ci(node): check docs in CI (#2084)
* Make `npm run docs` fail if there are any warnings. This will catch items missing from the API reference. * Add a check in our CI to make sure `npm run dos` runs without warnings and doesn't generate any new files (indicating it might be out-of-date. * Hide constructors that aren't user facing. * Remove unused enum `WriteMode`. Closes #2068
This commit is contained in:
12
.github/workflows/nodejs.yml
vendored
12
.github/workflows/nodejs.yml
vendored
@@ -106,6 +106,18 @@ jobs:
|
|||||||
python ci/mock_openai.py &
|
python ci/mock_openai.py &
|
||||||
cd nodejs/examples
|
cd nodejs/examples
|
||||||
npm test
|
npm test
|
||||||
|
- name: Check docs
|
||||||
|
run: |
|
||||||
|
# We run this as part of the job because the binary needs to be built
|
||||||
|
# first to export the types of the native code.
|
||||||
|
set -e
|
||||||
|
npm ci
|
||||||
|
npm run docs
|
||||||
|
if ! git diff --exit-code; then
|
||||||
|
echo "Docs need to be updated"
|
||||||
|
echo "Run 'npm run docs', fix any warnings, and commit the changes."
|
||||||
|
exit 1
|
||||||
|
fi
|
||||||
macos:
|
macos:
|
||||||
timeout-minutes: 30
|
timeout-minutes: 30
|
||||||
runs-on: "macos-14"
|
runs-on: "macos-14"
|
||||||
|
|||||||
6
Cargo.lock
generated
6
Cargo.lock
generated
@@ -4089,7 +4089,7 @@ dependencies = [
|
|||||||
|
|
||||||
[[package]]
|
[[package]]
|
||||||
name = "lancedb"
|
name = "lancedb"
|
||||||
version = "0.15.1-beta.1"
|
version = "0.15.1-beta.2"
|
||||||
dependencies = [
|
dependencies = [
|
||||||
"arrow",
|
"arrow",
|
||||||
"arrow-array",
|
"arrow-array",
|
||||||
@@ -4169,7 +4169,7 @@ dependencies = [
|
|||||||
|
|
||||||
[[package]]
|
[[package]]
|
||||||
name = "lancedb-node"
|
name = "lancedb-node"
|
||||||
version = "0.15.1-beta.1"
|
version = "0.15.1-beta.2"
|
||||||
dependencies = [
|
dependencies = [
|
||||||
"arrow-array",
|
"arrow-array",
|
||||||
"arrow-ipc",
|
"arrow-ipc",
|
||||||
@@ -4194,7 +4194,7 @@ dependencies = [
|
|||||||
|
|
||||||
[[package]]
|
[[package]]
|
||||||
name = "lancedb-nodejs"
|
name = "lancedb-nodejs"
|
||||||
version = "0.15.1-beta.1"
|
version = "0.15.1-beta.2"
|
||||||
dependencies = [
|
dependencies = [
|
||||||
"arrow-array",
|
"arrow-array",
|
||||||
"arrow-ipc",
|
"arrow-ipc",
|
||||||
|
|||||||
@@ -36,7 +36,7 @@ const results = await table.vectorSearch([0.1, 0.3]).limit(20).toArray();
|
|||||||
console.log(results);
|
console.log(results);
|
||||||
```
|
```
|
||||||
|
|
||||||
The [quickstart](../basic.md) contains a more complete example.
|
The [quickstart](https://lancedb.github.io/lancedb/basic/) contains a more complete example.
|
||||||
|
|
||||||
## Development
|
## Development
|
||||||
|
|
||||||
|
|||||||
@@ -23,18 +23,6 @@ be closed when they are garbage collected.
|
|||||||
Any created tables are independent and will continue to work even if
|
Any created tables are independent and will continue to work even if
|
||||||
the underlying connection has been closed.
|
the underlying connection has been closed.
|
||||||
|
|
||||||
## Constructors
|
|
||||||
|
|
||||||
### new Connection()
|
|
||||||
|
|
||||||
```ts
|
|
||||||
new Connection(): Connection
|
|
||||||
```
|
|
||||||
|
|
||||||
#### Returns
|
|
||||||
|
|
||||||
[`Connection`](Connection.md)
|
|
||||||
|
|
||||||
## Methods
|
## Methods
|
||||||
|
|
||||||
### close()
|
### close()
|
||||||
@@ -71,7 +59,7 @@ Creates a new empty Table
|
|||||||
* **name**: `string`
|
* **name**: `string`
|
||||||
The name of the table.
|
The name of the table.
|
||||||
|
|
||||||
* **schema**: `SchemaLike`
|
* **schema**: [`SchemaLike`](../type-aliases/SchemaLike.md)
|
||||||
The schema of the table
|
The schema of the table
|
||||||
|
|
||||||
* **options?**: `Partial`<[`CreateTableOptions`](../interfaces/CreateTableOptions.md)>
|
* **options?**: `Partial`<[`CreateTableOptions`](../interfaces/CreateTableOptions.md)>
|
||||||
@@ -117,7 +105,7 @@ Creates a new Table and initialize it with new data.
|
|||||||
* **name**: `string`
|
* **name**: `string`
|
||||||
The name of the table.
|
The name of the table.
|
||||||
|
|
||||||
* **data**: `TableLike` \| `Record`<`string`, `unknown`>[]
|
* **data**: [`TableLike`](../type-aliases/TableLike.md) \| `Record`<`string`, `unknown`>[]
|
||||||
Non-empty Array of Records
|
Non-empty Array of Records
|
||||||
to be inserted into the table
|
to be inserted into the table
|
||||||
|
|
||||||
@@ -189,7 +177,7 @@ Open a table in the database.
|
|||||||
* **name**: `string`
|
* **name**: `string`
|
||||||
The name of the table
|
The name of the table
|
||||||
|
|
||||||
* **options?**: `Partial`<`OpenTableOptions`>
|
* **options?**: `Partial`<[`OpenTableOptions`](../interfaces/OpenTableOptions.md)>
|
||||||
|
|
||||||
#### Returns
|
#### Returns
|
||||||
|
|
||||||
|
|||||||
@@ -72,11 +72,9 @@ The results of a full text search are ordered by relevance measured by BM25.
|
|||||||
|
|
||||||
You can combine filters with full text search.
|
You can combine filters with full text search.
|
||||||
|
|
||||||
For now, the full text search index only supports English, and doesn't support phrase search.
|
|
||||||
|
|
||||||
#### Parameters
|
#### Parameters
|
||||||
|
|
||||||
* **options?**: `Partial`<`FtsOptions`>
|
* **options?**: `Partial`<[`FtsOptions`](../interfaces/FtsOptions.md)>
|
||||||
|
|
||||||
#### Returns
|
#### Returns
|
||||||
|
|
||||||
@@ -98,7 +96,7 @@ the vectors.
|
|||||||
|
|
||||||
#### Parameters
|
#### Parameters
|
||||||
|
|
||||||
* **options?**: `Partial`<`HnswPqOptions`>
|
* **options?**: `Partial`<[`HnswPqOptions`](../interfaces/HnswPqOptions.md)>
|
||||||
|
|
||||||
#### Returns
|
#### Returns
|
||||||
|
|
||||||
@@ -120,7 +118,7 @@ the vectors.
|
|||||||
|
|
||||||
#### Parameters
|
#### Parameters
|
||||||
|
|
||||||
* **options?**: `Partial`<`HnswSqOptions`>
|
* **options?**: `Partial`<[`HnswSqOptions`](../interfaces/HnswSqOptions.md)>
|
||||||
|
|
||||||
#### Returns
|
#### Returns
|
||||||
|
|
||||||
|
|||||||
126
docs/src/js/classes/MergeInsertBuilder.md
Normal file
126
docs/src/js/classes/MergeInsertBuilder.md
Normal file
@@ -0,0 +1,126 @@
|
|||||||
|
[**@lancedb/lancedb**](../README.md) • **Docs**
|
||||||
|
|
||||||
|
***
|
||||||
|
|
||||||
|
[@lancedb/lancedb](../globals.md) / MergeInsertBuilder
|
||||||
|
|
||||||
|
# Class: MergeInsertBuilder
|
||||||
|
|
||||||
|
A builder used to create and run a merge insert operation
|
||||||
|
|
||||||
|
## Constructors
|
||||||
|
|
||||||
|
### new MergeInsertBuilder()
|
||||||
|
|
||||||
|
```ts
|
||||||
|
new MergeInsertBuilder(native, schema): MergeInsertBuilder
|
||||||
|
```
|
||||||
|
|
||||||
|
Construct a MergeInsertBuilder. __Internal use only.__
|
||||||
|
|
||||||
|
#### Parameters
|
||||||
|
|
||||||
|
* **native**: `NativeMergeInsertBuilder`
|
||||||
|
|
||||||
|
* **schema**: `Schema`<`any`> \| `Promise`<`Schema`<`any`>>
|
||||||
|
|
||||||
|
#### Returns
|
||||||
|
|
||||||
|
[`MergeInsertBuilder`](MergeInsertBuilder.md)
|
||||||
|
|
||||||
|
## Methods
|
||||||
|
|
||||||
|
### execute()
|
||||||
|
|
||||||
|
```ts
|
||||||
|
execute(data): Promise<void>
|
||||||
|
```
|
||||||
|
|
||||||
|
Executes the merge insert operation
|
||||||
|
|
||||||
|
Nothing is returned but the `Table` is updated
|
||||||
|
|
||||||
|
#### Parameters
|
||||||
|
|
||||||
|
* **data**: [`Data`](../type-aliases/Data.md)
|
||||||
|
|
||||||
|
#### Returns
|
||||||
|
|
||||||
|
`Promise`<`void`>
|
||||||
|
|
||||||
|
***
|
||||||
|
|
||||||
|
### whenMatchedUpdateAll()
|
||||||
|
|
||||||
|
```ts
|
||||||
|
whenMatchedUpdateAll(options?): MergeInsertBuilder
|
||||||
|
```
|
||||||
|
|
||||||
|
Rows that exist in both the source table (new data) and
|
||||||
|
the target table (old data) will be updated, replacing
|
||||||
|
the old row with the corresponding matching row.
|
||||||
|
|
||||||
|
If there are multiple matches then the behavior is undefined.
|
||||||
|
Currently this causes multiple copies of the row to be created
|
||||||
|
but that behavior is subject to change.
|
||||||
|
|
||||||
|
An optional condition may be specified. If it is, then only
|
||||||
|
matched rows that satisfy the condtion will be updated. Any
|
||||||
|
rows that do not satisfy the condition will be left as they
|
||||||
|
are. Failing to satisfy the condition does not cause a
|
||||||
|
"matched row" to become a "not matched" row.
|
||||||
|
|
||||||
|
The condition should be an SQL string. Use the prefix
|
||||||
|
target. to refer to rows in the target table (old data)
|
||||||
|
and the prefix source. to refer to rows in the source
|
||||||
|
table (new data).
|
||||||
|
|
||||||
|
For example, "target.last_update < source.last_update"
|
||||||
|
|
||||||
|
#### Parameters
|
||||||
|
|
||||||
|
* **options?**
|
||||||
|
|
||||||
|
* **options.where?**: `string`
|
||||||
|
|
||||||
|
#### Returns
|
||||||
|
|
||||||
|
[`MergeInsertBuilder`](MergeInsertBuilder.md)
|
||||||
|
|
||||||
|
***
|
||||||
|
|
||||||
|
### whenNotMatchedBySourceDelete()
|
||||||
|
|
||||||
|
```ts
|
||||||
|
whenNotMatchedBySourceDelete(options?): MergeInsertBuilder
|
||||||
|
```
|
||||||
|
|
||||||
|
Rows that exist only in the target table (old data) will be
|
||||||
|
deleted. An optional condition can be provided to limit what
|
||||||
|
data is deleted.
|
||||||
|
|
||||||
|
#### Parameters
|
||||||
|
|
||||||
|
* **options?**
|
||||||
|
|
||||||
|
* **options.where?**: `string`
|
||||||
|
An optional condition to limit what data is deleted
|
||||||
|
|
||||||
|
#### Returns
|
||||||
|
|
||||||
|
[`MergeInsertBuilder`](MergeInsertBuilder.md)
|
||||||
|
|
||||||
|
***
|
||||||
|
|
||||||
|
### whenNotMatchedInsertAll()
|
||||||
|
|
||||||
|
```ts
|
||||||
|
whenNotMatchedInsertAll(): MergeInsertBuilder
|
||||||
|
```
|
||||||
|
|
||||||
|
Rows that exist only in the source table (new data) should
|
||||||
|
be inserted into the target table.
|
||||||
|
|
||||||
|
#### Returns
|
||||||
|
|
||||||
|
[`MergeInsertBuilder`](MergeInsertBuilder.md)
|
||||||
@@ -8,30 +8,14 @@
|
|||||||
|
|
||||||
A builder for LanceDB queries.
|
A builder for LanceDB queries.
|
||||||
|
|
||||||
|
## See
|
||||||
|
|
||||||
|
[Table#query](Table.md#query), [Table#search](Table.md#search)
|
||||||
|
|
||||||
## Extends
|
## Extends
|
||||||
|
|
||||||
- [`QueryBase`](QueryBase.md)<`NativeQuery`>
|
- [`QueryBase`](QueryBase.md)<`NativeQuery`>
|
||||||
|
|
||||||
## Constructors
|
|
||||||
|
|
||||||
### new Query()
|
|
||||||
|
|
||||||
```ts
|
|
||||||
new Query(tbl): Query
|
|
||||||
```
|
|
||||||
|
|
||||||
#### Parameters
|
|
||||||
|
|
||||||
* **tbl**: `Table`
|
|
||||||
|
|
||||||
#### Returns
|
|
||||||
|
|
||||||
[`Query`](Query.md)
|
|
||||||
|
|
||||||
#### Overrides
|
|
||||||
|
|
||||||
[`QueryBase`](QueryBase.md).[`constructor`](QueryBase.md#constructors)
|
|
||||||
|
|
||||||
## Properties
|
## Properties
|
||||||
|
|
||||||
### inner
|
### inner
|
||||||
@@ -46,42 +30,6 @@ protected inner: Query | Promise<Query>;
|
|||||||
|
|
||||||
## Methods
|
## Methods
|
||||||
|
|
||||||
### \[asyncIterator\]()
|
|
||||||
|
|
||||||
```ts
|
|
||||||
asyncIterator: AsyncIterator<RecordBatch<any>, any, undefined>
|
|
||||||
```
|
|
||||||
|
|
||||||
#### Returns
|
|
||||||
|
|
||||||
`AsyncIterator`<`RecordBatch`<`any`>, `any`, `undefined`>
|
|
||||||
|
|
||||||
#### Inherited from
|
|
||||||
|
|
||||||
[`QueryBase`](QueryBase.md).[`[asyncIterator]`](QueryBase.md#%5Basynciterator%5D)
|
|
||||||
|
|
||||||
***
|
|
||||||
|
|
||||||
### doCall()
|
|
||||||
|
|
||||||
```ts
|
|
||||||
protected doCall(fn): void
|
|
||||||
```
|
|
||||||
|
|
||||||
#### Parameters
|
|
||||||
|
|
||||||
* **fn**
|
|
||||||
|
|
||||||
#### Returns
|
|
||||||
|
|
||||||
`void`
|
|
||||||
|
|
||||||
#### Inherited from
|
|
||||||
|
|
||||||
[`QueryBase`](QueryBase.md).[`doCall`](QueryBase.md#docall)
|
|
||||||
|
|
||||||
***
|
|
||||||
|
|
||||||
### execute()
|
### execute()
|
||||||
|
|
||||||
```ts
|
```ts
|
||||||
@@ -92,7 +40,7 @@ Execute the query and return the results as an
|
|||||||
|
|
||||||
#### Parameters
|
#### Parameters
|
||||||
|
|
||||||
* **options?**: `Partial`<`QueryExecutionOptions`>
|
* **options?**: `Partial`<[`QueryExecutionOptions`](../interfaces/QueryExecutionOptions.md)>
|
||||||
|
|
||||||
#### Returns
|
#### Returns
|
||||||
|
|
||||||
@@ -161,7 +109,7 @@ fastSearch(): this
|
|||||||
Skip searching un-indexed data. This can make search faster, but will miss
|
Skip searching un-indexed data. This can make search faster, but will miss
|
||||||
any data that is not yet indexed.
|
any data that is not yet indexed.
|
||||||
|
|
||||||
Use lancedb.Table#optimize to index all un-indexed data.
|
Use [Table#optimize](Table.md#optimize) to index all un-indexed data.
|
||||||
|
|
||||||
#### Returns
|
#### Returns
|
||||||
|
|
||||||
@@ -189,7 +137,7 @@ A filter statement to be applied to this query.
|
|||||||
|
|
||||||
`this`
|
`this`
|
||||||
|
|
||||||
#### Alias
|
#### See
|
||||||
|
|
||||||
where
|
where
|
||||||
|
|
||||||
@@ -213,7 +161,7 @@ fullTextSearch(query, options?): this
|
|||||||
|
|
||||||
* **query**: `string`
|
* **query**: `string`
|
||||||
|
|
||||||
* **options?**: `Partial`<`FullTextSearchOptions`>
|
* **options?**: `Partial`<[`FullTextSearchOptions`](../interfaces/FullTextSearchOptions.md)>
|
||||||
|
|
||||||
#### Returns
|
#### Returns
|
||||||
|
|
||||||
@@ -250,26 +198,6 @@ called then every valid row from the table will be returned.
|
|||||||
|
|
||||||
***
|
***
|
||||||
|
|
||||||
### nativeExecute()
|
|
||||||
|
|
||||||
```ts
|
|
||||||
protected nativeExecute(options?): Promise<RecordBatchIterator>
|
|
||||||
```
|
|
||||||
|
|
||||||
#### Parameters
|
|
||||||
|
|
||||||
* **options?**: `Partial`<`QueryExecutionOptions`>
|
|
||||||
|
|
||||||
#### Returns
|
|
||||||
|
|
||||||
`Promise`<`RecordBatchIterator`>
|
|
||||||
|
|
||||||
#### Inherited from
|
|
||||||
|
|
||||||
[`QueryBase`](QueryBase.md).[`nativeExecute`](QueryBase.md#nativeexecute)
|
|
||||||
|
|
||||||
***
|
|
||||||
|
|
||||||
### nearestTo()
|
### nearestTo()
|
||||||
|
|
||||||
```ts
|
```ts
|
||||||
@@ -294,7 +222,7 @@ If there is more than one vector column you must use
|
|||||||
|
|
||||||
#### Parameters
|
#### Parameters
|
||||||
|
|
||||||
* **vector**: `IntoVector`
|
* **vector**: [`IntoVector`](../type-aliases/IntoVector.md)
|
||||||
|
|
||||||
#### Returns
|
#### Returns
|
||||||
|
|
||||||
@@ -427,7 +355,7 @@ Collect the results as an array of objects.
|
|||||||
|
|
||||||
#### Parameters
|
#### Parameters
|
||||||
|
|
||||||
* **options?**: `Partial`<`QueryExecutionOptions`>
|
* **options?**: `Partial`<[`QueryExecutionOptions`](../interfaces/QueryExecutionOptions.md)>
|
||||||
|
|
||||||
#### Returns
|
#### Returns
|
||||||
|
|
||||||
@@ -449,7 +377,7 @@ Collect the results as an Arrow
|
|||||||
|
|
||||||
#### Parameters
|
#### Parameters
|
||||||
|
|
||||||
* **options?**: `Partial`<`QueryExecutionOptions`>
|
* **options?**: `Partial`<[`QueryExecutionOptions`](../interfaces/QueryExecutionOptions.md)>
|
||||||
|
|
||||||
#### Returns
|
#### Returns
|
||||||
|
|
||||||
|
|||||||
@@ -8,6 +8,11 @@
|
|||||||
|
|
||||||
Common methods supported by all query types
|
Common methods supported by all query types
|
||||||
|
|
||||||
|
## See
|
||||||
|
|
||||||
|
- [Query](Query.md)
|
||||||
|
- [VectorQuery](VectorQuery.md)
|
||||||
|
|
||||||
## Extended by
|
## Extended by
|
||||||
|
|
||||||
- [`Query`](Query.md)
|
- [`Query`](Query.md)
|
||||||
@@ -21,22 +26,6 @@ Common methods supported by all query types
|
|||||||
|
|
||||||
- `AsyncIterable`<`RecordBatch`>
|
- `AsyncIterable`<`RecordBatch`>
|
||||||
|
|
||||||
## Constructors
|
|
||||||
|
|
||||||
### new QueryBase()
|
|
||||||
|
|
||||||
```ts
|
|
||||||
protected new QueryBase<NativeQueryType>(inner): QueryBase<NativeQueryType>
|
|
||||||
```
|
|
||||||
|
|
||||||
#### Parameters
|
|
||||||
|
|
||||||
* **inner**: `NativeQueryType` \| `Promise`<`NativeQueryType`>
|
|
||||||
|
|
||||||
#### Returns
|
|
||||||
|
|
||||||
[`QueryBase`](QueryBase.md)<`NativeQueryType`>
|
|
||||||
|
|
||||||
## Properties
|
## Properties
|
||||||
|
|
||||||
### inner
|
### inner
|
||||||
@@ -47,38 +36,6 @@ protected inner: NativeQueryType | Promise<NativeQueryType>;
|
|||||||
|
|
||||||
## Methods
|
## Methods
|
||||||
|
|
||||||
### \[asyncIterator\]()
|
|
||||||
|
|
||||||
```ts
|
|
||||||
asyncIterator: AsyncIterator<RecordBatch<any>, any, undefined>
|
|
||||||
```
|
|
||||||
|
|
||||||
#### Returns
|
|
||||||
|
|
||||||
`AsyncIterator`<`RecordBatch`<`any`>, `any`, `undefined`>
|
|
||||||
|
|
||||||
#### Implementation of
|
|
||||||
|
|
||||||
`AsyncIterable.[asyncIterator]`
|
|
||||||
|
|
||||||
***
|
|
||||||
|
|
||||||
### doCall()
|
|
||||||
|
|
||||||
```ts
|
|
||||||
protected doCall(fn): void
|
|
||||||
```
|
|
||||||
|
|
||||||
#### Parameters
|
|
||||||
|
|
||||||
* **fn**
|
|
||||||
|
|
||||||
#### Returns
|
|
||||||
|
|
||||||
`void`
|
|
||||||
|
|
||||||
***
|
|
||||||
|
|
||||||
### execute()
|
### execute()
|
||||||
|
|
||||||
```ts
|
```ts
|
||||||
@@ -89,7 +46,7 @@ Execute the query and return the results as an
|
|||||||
|
|
||||||
#### Parameters
|
#### Parameters
|
||||||
|
|
||||||
* **options?**: `Partial`<`QueryExecutionOptions`>
|
* **options?**: `Partial`<[`QueryExecutionOptions`](../interfaces/QueryExecutionOptions.md)>
|
||||||
|
|
||||||
#### Returns
|
#### Returns
|
||||||
|
|
||||||
@@ -150,7 +107,7 @@ fastSearch(): this
|
|||||||
Skip searching un-indexed data. This can make search faster, but will miss
|
Skip searching un-indexed data. This can make search faster, but will miss
|
||||||
any data that is not yet indexed.
|
any data that is not yet indexed.
|
||||||
|
|
||||||
Use lancedb.Table#optimize to index all un-indexed data.
|
Use [Table#optimize](Table.md#optimize) to index all un-indexed data.
|
||||||
|
|
||||||
#### Returns
|
#### Returns
|
||||||
|
|
||||||
@@ -174,7 +131,7 @@ A filter statement to be applied to this query.
|
|||||||
|
|
||||||
`this`
|
`this`
|
||||||
|
|
||||||
#### Alias
|
#### See
|
||||||
|
|
||||||
where
|
where
|
||||||
|
|
||||||
@@ -194,7 +151,7 @@ fullTextSearch(query, options?): this
|
|||||||
|
|
||||||
* **query**: `string`
|
* **query**: `string`
|
||||||
|
|
||||||
* **options?**: `Partial`<`FullTextSearchOptions`>
|
* **options?**: `Partial`<[`FullTextSearchOptions`](../interfaces/FullTextSearchOptions.md)>
|
||||||
|
|
||||||
#### Returns
|
#### Returns
|
||||||
|
|
||||||
@@ -223,22 +180,6 @@ called then every valid row from the table will be returned.
|
|||||||
|
|
||||||
***
|
***
|
||||||
|
|
||||||
### nativeExecute()
|
|
||||||
|
|
||||||
```ts
|
|
||||||
protected nativeExecute(options?): Promise<RecordBatchIterator>
|
|
||||||
```
|
|
||||||
|
|
||||||
#### Parameters
|
|
||||||
|
|
||||||
* **options?**: `Partial`<`QueryExecutionOptions`>
|
|
||||||
|
|
||||||
#### Returns
|
|
||||||
|
|
||||||
`Promise`<`RecordBatchIterator`>
|
|
||||||
|
|
||||||
***
|
|
||||||
|
|
||||||
### offset()
|
### offset()
|
||||||
|
|
||||||
```ts
|
```ts
|
||||||
@@ -314,7 +255,7 @@ Collect the results as an array of objects.
|
|||||||
|
|
||||||
#### Parameters
|
#### Parameters
|
||||||
|
|
||||||
* **options?**: `Partial`<`QueryExecutionOptions`>
|
* **options?**: `Partial`<[`QueryExecutionOptions`](../interfaces/QueryExecutionOptions.md)>
|
||||||
|
|
||||||
#### Returns
|
#### Returns
|
||||||
|
|
||||||
@@ -332,7 +273,7 @@ Collect the results as an Arrow
|
|||||||
|
|
||||||
#### Parameters
|
#### Parameters
|
||||||
|
|
||||||
* **options?**: `Partial`<`QueryExecutionOptions`>
|
* **options?**: `Partial`<[`QueryExecutionOptions`](../interfaces/QueryExecutionOptions.md)>
|
||||||
|
|
||||||
#### Returns
|
#### Returns
|
||||||
|
|
||||||
|
|||||||
@@ -14,21 +14,13 @@ will be freed when the Table is garbage collected. To eagerly free the cache yo
|
|||||||
can call the `close` method. Once the Table is closed, it cannot be used for any
|
can call the `close` method. Once the Table is closed, it cannot be used for any
|
||||||
further operations.
|
further operations.
|
||||||
|
|
||||||
|
Tables are created using the methods [Connection#createTable](Connection.md#createtable)
|
||||||
|
and [Connection#createEmptyTable](Connection.md#createemptytable). Existing tables are opened
|
||||||
|
using [Connection#openTable](Connection.md#opentable).
|
||||||
|
|
||||||
Closing a table is optional. It not closed, it will be closed when it is garbage
|
Closing a table is optional. It not closed, it will be closed when it is garbage
|
||||||
collected.
|
collected.
|
||||||
|
|
||||||
## Constructors
|
|
||||||
|
|
||||||
### new Table()
|
|
||||||
|
|
||||||
```ts
|
|
||||||
new Table(): Table
|
|
||||||
```
|
|
||||||
|
|
||||||
#### Returns
|
|
||||||
|
|
||||||
[`Table`](Table.md)
|
|
||||||
|
|
||||||
## Accessors
|
## Accessors
|
||||||
|
|
||||||
### name
|
### name
|
||||||
@@ -216,6 +208,9 @@ Indices on vector columns will speed up vector searches.
|
|||||||
Indices on scalar columns will speed up filtering (in both
|
Indices on scalar columns will speed up filtering (in both
|
||||||
vector and non-vector searches)
|
vector and non-vector searches)
|
||||||
|
|
||||||
|
We currently don't support custom named indexes.
|
||||||
|
The index name will always be `${column}_idx`.
|
||||||
|
|
||||||
#### Parameters
|
#### Parameters
|
||||||
|
|
||||||
* **column**: `string`
|
* **column**: `string`
|
||||||
@@ -226,11 +221,6 @@ vector and non-vector searches)
|
|||||||
|
|
||||||
`Promise`<`void`>
|
`Promise`<`void`>
|
||||||
|
|
||||||
#### Note
|
|
||||||
|
|
||||||
We currently don't support custom named indexes,
|
|
||||||
The index name will always be `${column}_idx`
|
|
||||||
|
|
||||||
#### Examples
|
#### Examples
|
||||||
|
|
||||||
```ts
|
```ts
|
||||||
@@ -329,18 +319,14 @@ Drop an index from the table.
|
|||||||
|
|
||||||
* **name**: `string`
|
* **name**: `string`
|
||||||
The name of the index.
|
The name of the index.
|
||||||
|
This does not delete the index from disk, it just removes it from the table.
|
||||||
|
To delete the index, run [Table#optimize](Table.md#optimize) after dropping the index.
|
||||||
|
Use [Table.listIndices](Table.md#listindices) to find the names of the indices.
|
||||||
|
|
||||||
#### Returns
|
#### Returns
|
||||||
|
|
||||||
`Promise`<`void`>
|
`Promise`<`void`>
|
||||||
|
|
||||||
#### Note
|
|
||||||
|
|
||||||
This does not delete the index from disk, it just removes it from the table.
|
|
||||||
To delete the index, run [Table#optimize](Table.md#optimize) after dropping the index.
|
|
||||||
|
|
||||||
Use [Table.listIndices](Table.md#listindices) to find the names of the indices.
|
|
||||||
|
|
||||||
***
|
***
|
||||||
|
|
||||||
### indexStats()
|
### indexStats()
|
||||||
@@ -404,7 +390,7 @@ List all the versions of the table
|
|||||||
|
|
||||||
#### Returns
|
#### Returns
|
||||||
|
|
||||||
`Promise`<`Version`[]>
|
`Promise`<[`Version`](../interfaces/Version.md)[]>
|
||||||
|
|
||||||
***
|
***
|
||||||
|
|
||||||
@@ -420,7 +406,7 @@ abstract mergeInsert(on): MergeInsertBuilder
|
|||||||
|
|
||||||
#### Returns
|
#### Returns
|
||||||
|
|
||||||
`MergeInsertBuilder`
|
[`MergeInsertBuilder`](MergeInsertBuilder.md)
|
||||||
|
|
||||||
***
|
***
|
||||||
|
|
||||||
@@ -464,7 +450,7 @@ Modeled after ``VACUUM`` in PostgreSQL.
|
|||||||
|
|
||||||
#### Returns
|
#### Returns
|
||||||
|
|
||||||
`Promise`<`OptimizeStats`>
|
`Promise`<[`OptimizeStats`](../interfaces/OptimizeStats.md)>
|
||||||
|
|
||||||
***
|
***
|
||||||
|
|
||||||
@@ -581,7 +567,7 @@ Get the schema of the table.
|
|||||||
abstract search(
|
abstract search(
|
||||||
query,
|
query,
|
||||||
queryType?,
|
queryType?,
|
||||||
ftsColumns?): VectorQuery | Query
|
ftsColumns?): Query | VectorQuery
|
||||||
```
|
```
|
||||||
|
|
||||||
Create a search query to find the nearest neighbors
|
Create a search query to find the nearest neighbors
|
||||||
@@ -589,7 +575,7 @@ of the given query
|
|||||||
|
|
||||||
#### Parameters
|
#### Parameters
|
||||||
|
|
||||||
* **query**: `string` \| `IntoVector`
|
* **query**: `string` \| [`IntoVector`](../type-aliases/IntoVector.md)
|
||||||
the query, a vector or string
|
the query, a vector or string
|
||||||
|
|
||||||
* **queryType?**: `string`
|
* **queryType?**: `string`
|
||||||
@@ -603,7 +589,7 @@ of the given query
|
|||||||
|
|
||||||
#### Returns
|
#### Returns
|
||||||
|
|
||||||
[`VectorQuery`](VectorQuery.md) \| [`Query`](Query.md)
|
[`Query`](Query.md) \| [`VectorQuery`](VectorQuery.md)
|
||||||
|
|
||||||
***
|
***
|
||||||
|
|
||||||
@@ -722,7 +708,7 @@ by `query`.
|
|||||||
|
|
||||||
#### Parameters
|
#### Parameters
|
||||||
|
|
||||||
* **vector**: `IntoVector`
|
* **vector**: [`IntoVector`](../type-aliases/IntoVector.md)
|
||||||
|
|
||||||
#### Returns
|
#### Returns
|
||||||
|
|
||||||
@@ -745,38 +731,3 @@ Retrieve the version of the table
|
|||||||
#### Returns
|
#### Returns
|
||||||
|
|
||||||
`Promise`<`number`>
|
`Promise`<`number`>
|
||||||
|
|
||||||
***
|
|
||||||
|
|
||||||
### parseTableData()
|
|
||||||
|
|
||||||
```ts
|
|
||||||
static parseTableData(
|
|
||||||
data,
|
|
||||||
options?,
|
|
||||||
streaming?): Promise<object>
|
|
||||||
```
|
|
||||||
|
|
||||||
#### Parameters
|
|
||||||
|
|
||||||
* **data**: `TableLike` \| `Record`<`string`, `unknown`>[]
|
|
||||||
|
|
||||||
* **options?**: `Partial`<[`CreateTableOptions`](../interfaces/CreateTableOptions.md)>
|
|
||||||
|
|
||||||
* **streaming?**: `boolean` = `false`
|
|
||||||
|
|
||||||
#### Returns
|
|
||||||
|
|
||||||
`Promise`<`object`>
|
|
||||||
|
|
||||||
##### buf
|
|
||||||
|
|
||||||
```ts
|
|
||||||
buf: Buffer;
|
|
||||||
```
|
|
||||||
|
|
||||||
##### mode
|
|
||||||
|
|
||||||
```ts
|
|
||||||
mode: string;
|
|
||||||
```
|
|
||||||
|
|||||||
@@ -10,30 +10,14 @@ A builder used to construct a vector search
|
|||||||
|
|
||||||
This builder can be reused to execute the query many times.
|
This builder can be reused to execute the query many times.
|
||||||
|
|
||||||
|
## See
|
||||||
|
|
||||||
|
[Query#nearestTo](Query.md#nearestto)
|
||||||
|
|
||||||
## Extends
|
## Extends
|
||||||
|
|
||||||
- [`QueryBase`](QueryBase.md)<`NativeVectorQuery`>
|
- [`QueryBase`](QueryBase.md)<`NativeVectorQuery`>
|
||||||
|
|
||||||
## Constructors
|
|
||||||
|
|
||||||
### new VectorQuery()
|
|
||||||
|
|
||||||
```ts
|
|
||||||
new VectorQuery(inner): VectorQuery
|
|
||||||
```
|
|
||||||
|
|
||||||
#### Parameters
|
|
||||||
|
|
||||||
* **inner**: `VectorQuery` \| `Promise`<`VectorQuery`>
|
|
||||||
|
|
||||||
#### Returns
|
|
||||||
|
|
||||||
[`VectorQuery`](VectorQuery.md)
|
|
||||||
|
|
||||||
#### Overrides
|
|
||||||
|
|
||||||
[`QueryBase`](QueryBase.md).[`constructor`](QueryBase.md#constructors)
|
|
||||||
|
|
||||||
## Properties
|
## Properties
|
||||||
|
|
||||||
### inner
|
### inner
|
||||||
@@ -48,22 +32,6 @@ protected inner: VectorQuery | Promise<VectorQuery>;
|
|||||||
|
|
||||||
## Methods
|
## Methods
|
||||||
|
|
||||||
### \[asyncIterator\]()
|
|
||||||
|
|
||||||
```ts
|
|
||||||
asyncIterator: AsyncIterator<RecordBatch<any>, any, undefined>
|
|
||||||
```
|
|
||||||
|
|
||||||
#### Returns
|
|
||||||
|
|
||||||
`AsyncIterator`<`RecordBatch`<`any`>, `any`, `undefined`>
|
|
||||||
|
|
||||||
#### Inherited from
|
|
||||||
|
|
||||||
[`QueryBase`](QueryBase.md).[`[asyncIterator]`](QueryBase.md#%5Basynciterator%5D)
|
|
||||||
|
|
||||||
***
|
|
||||||
|
|
||||||
### addQueryVector()
|
### addQueryVector()
|
||||||
|
|
||||||
```ts
|
```ts
|
||||||
@@ -72,7 +40,7 @@ addQueryVector(vector): VectorQuery
|
|||||||
|
|
||||||
#### Parameters
|
#### Parameters
|
||||||
|
|
||||||
* **vector**: `IntoVector`
|
* **vector**: [`IntoVector`](../type-aliases/IntoVector.md)
|
||||||
|
|
||||||
#### Returns
|
#### Returns
|
||||||
|
|
||||||
@@ -179,26 +147,6 @@ By default "l2" is used.
|
|||||||
|
|
||||||
***
|
***
|
||||||
|
|
||||||
### doCall()
|
|
||||||
|
|
||||||
```ts
|
|
||||||
protected doCall(fn): void
|
|
||||||
```
|
|
||||||
|
|
||||||
#### Parameters
|
|
||||||
|
|
||||||
* **fn**
|
|
||||||
|
|
||||||
#### Returns
|
|
||||||
|
|
||||||
`void`
|
|
||||||
|
|
||||||
#### Inherited from
|
|
||||||
|
|
||||||
[`QueryBase`](QueryBase.md).[`doCall`](QueryBase.md#docall)
|
|
||||||
|
|
||||||
***
|
|
||||||
|
|
||||||
### ef()
|
### ef()
|
||||||
|
|
||||||
```ts
|
```ts
|
||||||
@@ -233,7 +181,7 @@ Execute the query and return the results as an
|
|||||||
|
|
||||||
#### Parameters
|
#### Parameters
|
||||||
|
|
||||||
* **options?**: `Partial`<`QueryExecutionOptions`>
|
* **options?**: `Partial`<[`QueryExecutionOptions`](../interfaces/QueryExecutionOptions.md)>
|
||||||
|
|
||||||
#### Returns
|
#### Returns
|
||||||
|
|
||||||
@@ -302,7 +250,7 @@ fastSearch(): this
|
|||||||
Skip searching un-indexed data. This can make search faster, but will miss
|
Skip searching un-indexed data. This can make search faster, but will miss
|
||||||
any data that is not yet indexed.
|
any data that is not yet indexed.
|
||||||
|
|
||||||
Use lancedb.Table#optimize to index all un-indexed data.
|
Use [Table#optimize](Table.md#optimize) to index all un-indexed data.
|
||||||
|
|
||||||
#### Returns
|
#### Returns
|
||||||
|
|
||||||
@@ -330,7 +278,7 @@ A filter statement to be applied to this query.
|
|||||||
|
|
||||||
`this`
|
`this`
|
||||||
|
|
||||||
#### Alias
|
#### See
|
||||||
|
|
||||||
where
|
where
|
||||||
|
|
||||||
@@ -354,7 +302,7 @@ fullTextSearch(query, options?): this
|
|||||||
|
|
||||||
* **query**: `string`
|
* **query**: `string`
|
||||||
|
|
||||||
* **options?**: `Partial`<`FullTextSearchOptions`>
|
* **options?**: `Partial`<[`FullTextSearchOptions`](../interfaces/FullTextSearchOptions.md)>
|
||||||
|
|
||||||
#### Returns
|
#### Returns
|
||||||
|
|
||||||
@@ -391,26 +339,6 @@ called then every valid row from the table will be returned.
|
|||||||
|
|
||||||
***
|
***
|
||||||
|
|
||||||
### nativeExecute()
|
|
||||||
|
|
||||||
```ts
|
|
||||||
protected nativeExecute(options?): Promise<RecordBatchIterator>
|
|
||||||
```
|
|
||||||
|
|
||||||
#### Parameters
|
|
||||||
|
|
||||||
* **options?**: `Partial`<`QueryExecutionOptions`>
|
|
||||||
|
|
||||||
#### Returns
|
|
||||||
|
|
||||||
`Promise`<`RecordBatchIterator`>
|
|
||||||
|
|
||||||
#### Inherited from
|
|
||||||
|
|
||||||
[`QueryBase`](QueryBase.md).[`nativeExecute`](QueryBase.md#nativeexecute)
|
|
||||||
|
|
||||||
***
|
|
||||||
|
|
||||||
### nprobes()
|
### nprobes()
|
||||||
|
|
||||||
```ts
|
```ts
|
||||||
@@ -625,7 +553,7 @@ Collect the results as an array of objects.
|
|||||||
|
|
||||||
#### Parameters
|
#### Parameters
|
||||||
|
|
||||||
* **options?**: `Partial`<`QueryExecutionOptions`>
|
* **options?**: `Partial`<[`QueryExecutionOptions`](../interfaces/QueryExecutionOptions.md)>
|
||||||
|
|
||||||
#### Returns
|
#### Returns
|
||||||
|
|
||||||
@@ -647,7 +575,7 @@ Collect the results as an Arrow
|
|||||||
|
|
||||||
#### Parameters
|
#### Parameters
|
||||||
|
|
||||||
* **options?**: `Partial`<`QueryExecutionOptions`>
|
* **options?**: `Partial`<[`QueryExecutionOptions`](../interfaces/QueryExecutionOptions.md)>
|
||||||
|
|
||||||
#### Returns
|
#### Returns
|
||||||
|
|
||||||
|
|||||||
@@ -1,33 +0,0 @@
|
|||||||
[**@lancedb/lancedb**](../README.md) • **Docs**
|
|
||||||
|
|
||||||
***
|
|
||||||
|
|
||||||
[@lancedb/lancedb](../globals.md) / WriteMode
|
|
||||||
|
|
||||||
# Enumeration: WriteMode
|
|
||||||
|
|
||||||
Write mode for writing a table.
|
|
||||||
|
|
||||||
## Enumeration Members
|
|
||||||
|
|
||||||
### Append
|
|
||||||
|
|
||||||
```ts
|
|
||||||
Append: "Append";
|
|
||||||
```
|
|
||||||
|
|
||||||
***
|
|
||||||
|
|
||||||
### Create
|
|
||||||
|
|
||||||
```ts
|
|
||||||
Create: "Create";
|
|
||||||
```
|
|
||||||
|
|
||||||
***
|
|
||||||
|
|
||||||
### Overwrite
|
|
||||||
|
|
||||||
```ts
|
|
||||||
Overwrite: "Overwrite";
|
|
||||||
```
|
|
||||||
@@ -6,10 +6,10 @@
|
|||||||
|
|
||||||
# Function: connect()
|
# Function: connect()
|
||||||
|
|
||||||
## connect(uri, opts)
|
## connect(uri, options)
|
||||||
|
|
||||||
```ts
|
```ts
|
||||||
function connect(uri, opts?): Promise<Connection>
|
function connect(uri, options?): Promise<Connection>
|
||||||
```
|
```
|
||||||
|
|
||||||
Connect to a LanceDB instance at the given URI.
|
Connect to a LanceDB instance at the given URI.
|
||||||
@@ -26,7 +26,8 @@ Accepted formats:
|
|||||||
The uri of the database. If the database uri starts
|
The uri of the database. If the database uri starts
|
||||||
with `db://` then it connects to a remote database.
|
with `db://` then it connects to a remote database.
|
||||||
|
|
||||||
* **opts?**: `Partial`<[`ConnectionOptions`](../interfaces/ConnectionOptions.md)>
|
* **options?**: `Partial`<[`ConnectionOptions`](../interfaces/ConnectionOptions.md)>
|
||||||
|
The options to use when connecting to the database
|
||||||
|
|
||||||
### Returns
|
### Returns
|
||||||
|
|
||||||
@@ -49,10 +50,10 @@ const conn = await connect(
|
|||||||
});
|
});
|
||||||
```
|
```
|
||||||
|
|
||||||
## connect(opts)
|
## connect(options)
|
||||||
|
|
||||||
```ts
|
```ts
|
||||||
function connect(opts): Promise<Connection>
|
function connect(options): Promise<Connection>
|
||||||
```
|
```
|
||||||
|
|
||||||
Connect to a LanceDB instance at the given URI.
|
Connect to a LanceDB instance at the given URI.
|
||||||
@@ -65,7 +66,8 @@ Accepted formats:
|
|||||||
|
|
||||||
### Parameters
|
### Parameters
|
||||||
|
|
||||||
* **opts**: `Partial`<[`ConnectionOptions`](../interfaces/ConnectionOptions.md)> & `object`
|
* **options**: `Partial`<[`ConnectionOptions`](../interfaces/ConnectionOptions.md)> & `object`
|
||||||
|
The options to use when connecting to the database
|
||||||
|
|
||||||
### Returns
|
### Returns
|
||||||
|
|
||||||
|
|||||||
@@ -57,6 +57,7 @@ rules are as follows:
|
|||||||
|
|
||||||
## Example
|
## Example
|
||||||
|
|
||||||
|
```ts
|
||||||
import { fromTableToBuffer, makeArrowTable } from "../arrow";
|
import { fromTableToBuffer, makeArrowTable } from "../arrow";
|
||||||
import { Field, FixedSizeList, Float16, Float32, Int32, Schema } from "apache-arrow";
|
import { Field, FixedSizeList, Float16, Float32, Int32, Schema } from "apache-arrow";
|
||||||
|
|
||||||
@@ -78,7 +79,6 @@ The `vectorColumns` option can be used to support other vector column
|
|||||||
names and data types.
|
names and data types.
|
||||||
|
|
||||||
```ts
|
```ts
|
||||||
|
|
||||||
const schema = new Schema([
|
const schema = new Schema([
|
||||||
new Field("a", new Float64()),
|
new Field("a", new Float64()),
|
||||||
new Field("b", new Float64()),
|
new Field("b", new Float64()),
|
||||||
@@ -86,34 +86,33 @@ const schema = new Schema([
|
|||||||
"vector",
|
"vector",
|
||||||
new FixedSizeList(3, new Field("item", new Float32()))
|
new FixedSizeList(3, new Field("item", new Float32()))
|
||||||
),
|
),
|
||||||
]);
|
]);
|
||||||
const table = makeArrowTable([
|
const table = makeArrowTable([
|
||||||
{ a: 1, b: 2, vector: [1, 2, 3] },
|
{ a: 1, b: 2, vector: [1, 2, 3] },
|
||||||
{ a: 4, b: 5, vector: [4, 5, 6] },
|
{ a: 4, b: 5, vector: [4, 5, 6] },
|
||||||
{ a: 7, b: 8, vector: [7, 8, 9] },
|
{ a: 7, b: 8, vector: [7, 8, 9] },
|
||||||
]);
|
]);
|
||||||
assert.deepEqual(table.schema, schema);
|
assert.deepEqual(table.schema, schema);
|
||||||
```
|
```
|
||||||
|
|
||||||
You can specify the vector column types and names using the options as well
|
You can specify the vector column types and names using the options as well
|
||||||
|
|
||||||
```typescript
|
```ts
|
||||||
|
|
||||||
const schema = new Schema([
|
const schema = new Schema([
|
||||||
new Field('a', new Float64()),
|
new Field('a', new Float64()),
|
||||||
new Field('b', new Float64()),
|
new Field('b', new Float64()),
|
||||||
new Field('vec1', new FixedSizeList(3, new Field('item', new Float16()))),
|
new Field('vec1', new FixedSizeList(3, new Field('item', new Float16()))),
|
||||||
new Field('vec2', new FixedSizeList(3, new Field('item', new Float16())))
|
new Field('vec2', new FixedSizeList(3, new Field('item', new Float16())))
|
||||||
]);
|
]);
|
||||||
const table = makeArrowTable([
|
const table = makeArrowTable([
|
||||||
{ a: 1, b: 2, vec1: [1, 2, 3], vec2: [2, 4, 6] },
|
{ a: 1, b: 2, vec1: [1, 2, 3], vec2: [2, 4, 6] },
|
||||||
{ a: 4, b: 5, vec1: [4, 5, 6], vec2: [8, 10, 12] },
|
{ a: 4, b: 5, vec1: [4, 5, 6], vec2: [8, 10, 12] },
|
||||||
{ a: 7, b: 8, vec1: [7, 8, 9], vec2: [14, 16, 18] }
|
{ a: 7, b: 8, vec1: [7, 8, 9], vec2: [14, 16, 18] }
|
||||||
], {
|
], {
|
||||||
vectorColumns: {
|
vectorColumns: {
|
||||||
vec1: { type: new Float16() },
|
vec1: { type: new Float16() },
|
||||||
vec2: { type: new Float16() }
|
vec2: { type: new Float16() }
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
assert.deepEqual(table.schema, schema)
|
assert.deepEqual(table.schema, schema)
|
||||||
```
|
```
|
||||||
|
|||||||
@@ -9,15 +9,12 @@
|
|||||||
- [embedding](namespaces/embedding/README.md)
|
- [embedding](namespaces/embedding/README.md)
|
||||||
- [rerankers](namespaces/rerankers/README.md)
|
- [rerankers](namespaces/rerankers/README.md)
|
||||||
|
|
||||||
## Enumerations
|
|
||||||
|
|
||||||
- [WriteMode](enumerations/WriteMode.md)
|
|
||||||
|
|
||||||
## Classes
|
## Classes
|
||||||
|
|
||||||
- [Connection](classes/Connection.md)
|
- [Connection](classes/Connection.md)
|
||||||
- [Index](classes/Index.md)
|
- [Index](classes/Index.md)
|
||||||
- [MakeArrowTableOptions](classes/MakeArrowTableOptions.md)
|
- [MakeArrowTableOptions](classes/MakeArrowTableOptions.md)
|
||||||
|
- [MergeInsertBuilder](classes/MergeInsertBuilder.md)
|
||||||
- [Query](classes/Query.md)
|
- [Query](classes/Query.md)
|
||||||
- [QueryBase](classes/QueryBase.md)
|
- [QueryBase](classes/QueryBase.md)
|
||||||
- [RecordBatchIterator](classes/RecordBatchIterator.md)
|
- [RecordBatchIterator](classes/RecordBatchIterator.md)
|
||||||
@@ -31,23 +28,39 @@
|
|||||||
- [AddDataOptions](interfaces/AddDataOptions.md)
|
- [AddDataOptions](interfaces/AddDataOptions.md)
|
||||||
- [ClientConfig](interfaces/ClientConfig.md)
|
- [ClientConfig](interfaces/ClientConfig.md)
|
||||||
- [ColumnAlteration](interfaces/ColumnAlteration.md)
|
- [ColumnAlteration](interfaces/ColumnAlteration.md)
|
||||||
|
- [CompactionStats](interfaces/CompactionStats.md)
|
||||||
- [ConnectionOptions](interfaces/ConnectionOptions.md)
|
- [ConnectionOptions](interfaces/ConnectionOptions.md)
|
||||||
- [CreateTableOptions](interfaces/CreateTableOptions.md)
|
- [CreateTableOptions](interfaces/CreateTableOptions.md)
|
||||||
- [ExecutableQuery](interfaces/ExecutableQuery.md)
|
- [ExecutableQuery](interfaces/ExecutableQuery.md)
|
||||||
|
- [FtsOptions](interfaces/FtsOptions.md)
|
||||||
|
- [FullTextSearchOptions](interfaces/FullTextSearchOptions.md)
|
||||||
|
- [HnswPqOptions](interfaces/HnswPqOptions.md)
|
||||||
|
- [HnswSqOptions](interfaces/HnswSqOptions.md)
|
||||||
- [IndexConfig](interfaces/IndexConfig.md)
|
- [IndexConfig](interfaces/IndexConfig.md)
|
||||||
- [IndexOptions](interfaces/IndexOptions.md)
|
- [IndexOptions](interfaces/IndexOptions.md)
|
||||||
- [IndexStatistics](interfaces/IndexStatistics.md)
|
- [IndexStatistics](interfaces/IndexStatistics.md)
|
||||||
- [IvfPqOptions](interfaces/IvfPqOptions.md)
|
- [IvfPqOptions](interfaces/IvfPqOptions.md)
|
||||||
|
- [OpenTableOptions](interfaces/OpenTableOptions.md)
|
||||||
- [OptimizeOptions](interfaces/OptimizeOptions.md)
|
- [OptimizeOptions](interfaces/OptimizeOptions.md)
|
||||||
|
- [OptimizeStats](interfaces/OptimizeStats.md)
|
||||||
|
- [QueryExecutionOptions](interfaces/QueryExecutionOptions.md)
|
||||||
|
- [RemovalStats](interfaces/RemovalStats.md)
|
||||||
- [RetryConfig](interfaces/RetryConfig.md)
|
- [RetryConfig](interfaces/RetryConfig.md)
|
||||||
- [TableNamesOptions](interfaces/TableNamesOptions.md)
|
- [TableNamesOptions](interfaces/TableNamesOptions.md)
|
||||||
- [TimeoutConfig](interfaces/TimeoutConfig.md)
|
- [TimeoutConfig](interfaces/TimeoutConfig.md)
|
||||||
- [UpdateOptions](interfaces/UpdateOptions.md)
|
- [UpdateOptions](interfaces/UpdateOptions.md)
|
||||||
- [WriteOptions](interfaces/WriteOptions.md)
|
- [Version](interfaces/Version.md)
|
||||||
|
|
||||||
## Type Aliases
|
## Type Aliases
|
||||||
|
|
||||||
- [Data](type-aliases/Data.md)
|
- [Data](type-aliases/Data.md)
|
||||||
|
- [DataLike](type-aliases/DataLike.md)
|
||||||
|
- [FieldLike](type-aliases/FieldLike.md)
|
||||||
|
- [IntoSql](type-aliases/IntoSql.md)
|
||||||
|
- [IntoVector](type-aliases/IntoVector.md)
|
||||||
|
- [RecordBatchLike](type-aliases/RecordBatchLike.md)
|
||||||
|
- [SchemaLike](type-aliases/SchemaLike.md)
|
||||||
|
- [TableLike](type-aliases/TableLike.md)
|
||||||
|
|
||||||
## Functions
|
## Functions
|
||||||
|
|
||||||
|
|||||||
49
docs/src/js/interfaces/CompactionStats.md
Normal file
49
docs/src/js/interfaces/CompactionStats.md
Normal file
@@ -0,0 +1,49 @@
|
|||||||
|
[**@lancedb/lancedb**](../README.md) • **Docs**
|
||||||
|
|
||||||
|
***
|
||||||
|
|
||||||
|
[@lancedb/lancedb](../globals.md) / CompactionStats
|
||||||
|
|
||||||
|
# Interface: CompactionStats
|
||||||
|
|
||||||
|
Statistics about a compaction operation.
|
||||||
|
|
||||||
|
## Properties
|
||||||
|
|
||||||
|
### filesAdded
|
||||||
|
|
||||||
|
```ts
|
||||||
|
filesAdded: number;
|
||||||
|
```
|
||||||
|
|
||||||
|
The number of new, compacted data files added
|
||||||
|
|
||||||
|
***
|
||||||
|
|
||||||
|
### filesRemoved
|
||||||
|
|
||||||
|
```ts
|
||||||
|
filesRemoved: number;
|
||||||
|
```
|
||||||
|
|
||||||
|
The number of data files removed
|
||||||
|
|
||||||
|
***
|
||||||
|
|
||||||
|
### fragmentsAdded
|
||||||
|
|
||||||
|
```ts
|
||||||
|
fragmentsAdded: number;
|
||||||
|
```
|
||||||
|
|
||||||
|
The number of new, compacted fragments added
|
||||||
|
|
||||||
|
***
|
||||||
|
|
||||||
|
### fragmentsRemoved
|
||||||
|
|
||||||
|
```ts
|
||||||
|
fragmentsRemoved: number;
|
||||||
|
```
|
||||||
|
|
||||||
|
The number of fragments removed
|
||||||
103
docs/src/js/interfaces/FtsOptions.md
Normal file
103
docs/src/js/interfaces/FtsOptions.md
Normal file
@@ -0,0 +1,103 @@
|
|||||||
|
[**@lancedb/lancedb**](../README.md) • **Docs**
|
||||||
|
|
||||||
|
***
|
||||||
|
|
||||||
|
[@lancedb/lancedb](../globals.md) / FtsOptions
|
||||||
|
|
||||||
|
# Interface: FtsOptions
|
||||||
|
|
||||||
|
Options to create a full text search index
|
||||||
|
|
||||||
|
## Properties
|
||||||
|
|
||||||
|
### asciiFolding?
|
||||||
|
|
||||||
|
```ts
|
||||||
|
optional asciiFolding: boolean;
|
||||||
|
```
|
||||||
|
|
||||||
|
whether to remove punctuation
|
||||||
|
|
||||||
|
***
|
||||||
|
|
||||||
|
### baseTokenizer?
|
||||||
|
|
||||||
|
```ts
|
||||||
|
optional baseTokenizer: "raw" | "simple" | "whitespace";
|
||||||
|
```
|
||||||
|
|
||||||
|
The tokenizer to use when building the index.
|
||||||
|
The default is "simple".
|
||||||
|
|
||||||
|
The following tokenizers are available:
|
||||||
|
|
||||||
|
"simple" - Simple tokenizer. This tokenizer splits the text into tokens using whitespace and punctuation as a delimiter.
|
||||||
|
|
||||||
|
"whitespace" - Whitespace tokenizer. This tokenizer splits the text into tokens using whitespace as a delimiter.
|
||||||
|
|
||||||
|
"raw" - Raw tokenizer. This tokenizer does not split the text into tokens and indexes the entire text as a single token.
|
||||||
|
|
||||||
|
***
|
||||||
|
|
||||||
|
### language?
|
||||||
|
|
||||||
|
```ts
|
||||||
|
optional language: string;
|
||||||
|
```
|
||||||
|
|
||||||
|
language for stemming and stop words
|
||||||
|
this is only used when `stem` or `remove_stop_words` is true
|
||||||
|
|
||||||
|
***
|
||||||
|
|
||||||
|
### lowercase?
|
||||||
|
|
||||||
|
```ts
|
||||||
|
optional lowercase: boolean;
|
||||||
|
```
|
||||||
|
|
||||||
|
whether to lowercase tokens
|
||||||
|
|
||||||
|
***
|
||||||
|
|
||||||
|
### maxTokenLength?
|
||||||
|
|
||||||
|
```ts
|
||||||
|
optional maxTokenLength: number;
|
||||||
|
```
|
||||||
|
|
||||||
|
maximum token length
|
||||||
|
tokens longer than this length will be ignored
|
||||||
|
|
||||||
|
***
|
||||||
|
|
||||||
|
### removeStopWords?
|
||||||
|
|
||||||
|
```ts
|
||||||
|
optional removeStopWords: boolean;
|
||||||
|
```
|
||||||
|
|
||||||
|
whether to remove stop words
|
||||||
|
|
||||||
|
***
|
||||||
|
|
||||||
|
### stem?
|
||||||
|
|
||||||
|
```ts
|
||||||
|
optional stem: boolean;
|
||||||
|
```
|
||||||
|
|
||||||
|
whether to stem tokens
|
||||||
|
|
||||||
|
***
|
||||||
|
|
||||||
|
### withPosition?
|
||||||
|
|
||||||
|
```ts
|
||||||
|
optional withPosition: boolean;
|
||||||
|
```
|
||||||
|
|
||||||
|
Whether to build the index with positions.
|
||||||
|
True by default.
|
||||||
|
If set to false, the index will not store the positions of the tokens in the text,
|
||||||
|
which will make the index smaller and faster to build, but will not support phrase queries.
|
||||||
22
docs/src/js/interfaces/FullTextSearchOptions.md
Normal file
22
docs/src/js/interfaces/FullTextSearchOptions.md
Normal file
@@ -0,0 +1,22 @@
|
|||||||
|
[**@lancedb/lancedb**](../README.md) • **Docs**
|
||||||
|
|
||||||
|
***
|
||||||
|
|
||||||
|
[@lancedb/lancedb](../globals.md) / FullTextSearchOptions
|
||||||
|
|
||||||
|
# Interface: FullTextSearchOptions
|
||||||
|
|
||||||
|
Options that control the behavior of a full text search
|
||||||
|
|
||||||
|
## Properties
|
||||||
|
|
||||||
|
### columns?
|
||||||
|
|
||||||
|
```ts
|
||||||
|
optional columns: string | string[];
|
||||||
|
```
|
||||||
|
|
||||||
|
The columns to search
|
||||||
|
|
||||||
|
If not specified, all indexed columns will be searched.
|
||||||
|
For now, only one column can be searched.
|
||||||
149
docs/src/js/interfaces/HnswPqOptions.md
Normal file
149
docs/src/js/interfaces/HnswPqOptions.md
Normal file
@@ -0,0 +1,149 @@
|
|||||||
|
[**@lancedb/lancedb**](../README.md) • **Docs**
|
||||||
|
|
||||||
|
***
|
||||||
|
|
||||||
|
[@lancedb/lancedb](../globals.md) / HnswPqOptions
|
||||||
|
|
||||||
|
# Interface: HnswPqOptions
|
||||||
|
|
||||||
|
Options to create an `HNSW_PQ` index
|
||||||
|
|
||||||
|
## Properties
|
||||||
|
|
||||||
|
### distanceType?
|
||||||
|
|
||||||
|
```ts
|
||||||
|
optional distanceType: "l2" | "cosine" | "dot";
|
||||||
|
```
|
||||||
|
|
||||||
|
The distance metric used to train the index.
|
||||||
|
|
||||||
|
Default value is "l2".
|
||||||
|
|
||||||
|
The following distance types are available:
|
||||||
|
|
||||||
|
"l2" - Euclidean distance. This is a very common distance metric that
|
||||||
|
accounts for both magnitude and direction when determining the distance
|
||||||
|
between vectors. L2 distance has a range of [0, ∞).
|
||||||
|
|
||||||
|
"cosine" - Cosine distance. Cosine distance is a distance metric
|
||||||
|
calculated from the cosine similarity between two vectors. Cosine
|
||||||
|
similarity is a measure of similarity between two non-zero vectors of an
|
||||||
|
inner product space. It is defined to equal the cosine of the angle
|
||||||
|
between them. Unlike L2, the cosine distance is not affected by the
|
||||||
|
magnitude of the vectors. Cosine distance has a range of [0, 2].
|
||||||
|
|
||||||
|
"dot" - Dot product. Dot distance is the dot product of two vectors. Dot
|
||||||
|
distance has a range of (-∞, ∞). If the vectors are normalized (i.e. their
|
||||||
|
L2 norm is 1), then dot distance is equivalent to the cosine distance.
|
||||||
|
|
||||||
|
***
|
||||||
|
|
||||||
|
### efConstruction?
|
||||||
|
|
||||||
|
```ts
|
||||||
|
optional efConstruction: number;
|
||||||
|
```
|
||||||
|
|
||||||
|
The number of candidates to evaluate during the construction of the HNSW graph.
|
||||||
|
|
||||||
|
The default value is 300.
|
||||||
|
|
||||||
|
This value controls the tradeoff between build speed and accuracy.
|
||||||
|
The higher the value the more accurate the build but the slower it will be.
|
||||||
|
150 to 300 is the typical range. 100 is a minimum for good quality search
|
||||||
|
results. In most cases, there is no benefit to setting this higher than 500.
|
||||||
|
This value should be set to a value that is not less than `ef` in the search phase.
|
||||||
|
|
||||||
|
***
|
||||||
|
|
||||||
|
### m?
|
||||||
|
|
||||||
|
```ts
|
||||||
|
optional m: number;
|
||||||
|
```
|
||||||
|
|
||||||
|
The number of neighbors to select for each vector in the HNSW graph.
|
||||||
|
|
||||||
|
The default value is 20.
|
||||||
|
|
||||||
|
This value controls the tradeoff between search speed and accuracy.
|
||||||
|
The higher the value the more accurate the search but the slower it will be.
|
||||||
|
|
||||||
|
***
|
||||||
|
|
||||||
|
### maxIterations?
|
||||||
|
|
||||||
|
```ts
|
||||||
|
optional maxIterations: number;
|
||||||
|
```
|
||||||
|
|
||||||
|
Max iterations to train kmeans.
|
||||||
|
|
||||||
|
The default value is 50.
|
||||||
|
|
||||||
|
When training an IVF index we use kmeans to calculate the partitions. This parameter
|
||||||
|
controls how many iterations of kmeans to run.
|
||||||
|
|
||||||
|
Increasing this might improve the quality of the index but in most cases the parameter
|
||||||
|
is unused because kmeans will converge with fewer iterations. The parameter is only
|
||||||
|
used in cases where kmeans does not appear to converge. In those cases it is unlikely
|
||||||
|
that setting this larger will lead to the index converging anyways.
|
||||||
|
|
||||||
|
***
|
||||||
|
|
||||||
|
### numPartitions?
|
||||||
|
|
||||||
|
```ts
|
||||||
|
optional numPartitions: number;
|
||||||
|
```
|
||||||
|
|
||||||
|
The number of IVF partitions to create.
|
||||||
|
|
||||||
|
For HNSW, we recommend a small number of partitions. Setting this to 1 works
|
||||||
|
well for most tables. For very large tables, training just one HNSW graph
|
||||||
|
will require too much memory. Each partition becomes its own HNSW graph, so
|
||||||
|
setting this value higher reduces the peak memory use of training.
|
||||||
|
|
||||||
|
***
|
||||||
|
|
||||||
|
### numSubVectors?
|
||||||
|
|
||||||
|
```ts
|
||||||
|
optional numSubVectors: number;
|
||||||
|
```
|
||||||
|
|
||||||
|
Number of sub-vectors of PQ.
|
||||||
|
|
||||||
|
This value controls how much the vector is compressed during the quantization step.
|
||||||
|
The more sub vectors there are the less the vector is compressed. The default is
|
||||||
|
the dimension of the vector divided by 16. If the dimension is not evenly divisible
|
||||||
|
by 16 we use the dimension divded by 8.
|
||||||
|
|
||||||
|
The above two cases are highly preferred. Having 8 or 16 values per subvector allows
|
||||||
|
us to use efficient SIMD instructions.
|
||||||
|
|
||||||
|
If the dimension is not visible by 8 then we use 1 subvector. This is not ideal and
|
||||||
|
will likely result in poor performance.
|
||||||
|
|
||||||
|
***
|
||||||
|
|
||||||
|
### sampleRate?
|
||||||
|
|
||||||
|
```ts
|
||||||
|
optional sampleRate: number;
|
||||||
|
```
|
||||||
|
|
||||||
|
The rate used to calculate the number of training vectors for kmeans.
|
||||||
|
|
||||||
|
Default value is 256.
|
||||||
|
|
||||||
|
When an IVF index is trained, we need to calculate partitions. These are groups
|
||||||
|
of vectors that are similar to each other. To do this we use an algorithm called kmeans.
|
||||||
|
|
||||||
|
Running kmeans on a large dataset can be slow. To speed this up we run kmeans on a
|
||||||
|
random sample of the data. This parameter controls the size of the sample. The total
|
||||||
|
number of vectors used to train the index is `sample_rate * num_partitions`.
|
||||||
|
|
||||||
|
Increasing this value might improve the quality of the index but in most cases the
|
||||||
|
default should be sufficient.
|
||||||
128
docs/src/js/interfaces/HnswSqOptions.md
Normal file
128
docs/src/js/interfaces/HnswSqOptions.md
Normal file
@@ -0,0 +1,128 @@
|
|||||||
|
[**@lancedb/lancedb**](../README.md) • **Docs**
|
||||||
|
|
||||||
|
***
|
||||||
|
|
||||||
|
[@lancedb/lancedb](../globals.md) / HnswSqOptions
|
||||||
|
|
||||||
|
# Interface: HnswSqOptions
|
||||||
|
|
||||||
|
Options to create an `HNSW_SQ` index
|
||||||
|
|
||||||
|
## Properties
|
||||||
|
|
||||||
|
### distanceType?
|
||||||
|
|
||||||
|
```ts
|
||||||
|
optional distanceType: "l2" | "cosine" | "dot";
|
||||||
|
```
|
||||||
|
|
||||||
|
The distance metric used to train the index.
|
||||||
|
|
||||||
|
Default value is "l2".
|
||||||
|
|
||||||
|
The following distance types are available:
|
||||||
|
|
||||||
|
"l2" - Euclidean distance. This is a very common distance metric that
|
||||||
|
accounts for both magnitude and direction when determining the distance
|
||||||
|
between vectors. L2 distance has a range of [0, ∞).
|
||||||
|
|
||||||
|
"cosine" - Cosine distance. Cosine distance is a distance metric
|
||||||
|
calculated from the cosine similarity between two vectors. Cosine
|
||||||
|
similarity is a measure of similarity between two non-zero vectors of an
|
||||||
|
inner product space. It is defined to equal the cosine of the angle
|
||||||
|
between them. Unlike L2, the cosine distance is not affected by the
|
||||||
|
magnitude of the vectors. Cosine distance has a range of [0, 2].
|
||||||
|
|
||||||
|
"dot" - Dot product. Dot distance is the dot product of two vectors. Dot
|
||||||
|
distance has a range of (-∞, ∞). If the vectors are normalized (i.e. their
|
||||||
|
L2 norm is 1), then dot distance is equivalent to the cosine distance.
|
||||||
|
|
||||||
|
***
|
||||||
|
|
||||||
|
### efConstruction?
|
||||||
|
|
||||||
|
```ts
|
||||||
|
optional efConstruction: number;
|
||||||
|
```
|
||||||
|
|
||||||
|
The number of candidates to evaluate during the construction of the HNSW graph.
|
||||||
|
|
||||||
|
The default value is 300.
|
||||||
|
|
||||||
|
This value controls the tradeoff between build speed and accuracy.
|
||||||
|
The higher the value the more accurate the build but the slower it will be.
|
||||||
|
150 to 300 is the typical range. 100 is a minimum for good quality search
|
||||||
|
results. In most cases, there is no benefit to setting this higher than 500.
|
||||||
|
This value should be set to a value that is not less than `ef` in the search phase.
|
||||||
|
|
||||||
|
***
|
||||||
|
|
||||||
|
### m?
|
||||||
|
|
||||||
|
```ts
|
||||||
|
optional m: number;
|
||||||
|
```
|
||||||
|
|
||||||
|
The number of neighbors to select for each vector in the HNSW graph.
|
||||||
|
|
||||||
|
The default value is 20.
|
||||||
|
|
||||||
|
This value controls the tradeoff between search speed and accuracy.
|
||||||
|
The higher the value the more accurate the search but the slower it will be.
|
||||||
|
|
||||||
|
***
|
||||||
|
|
||||||
|
### maxIterations?
|
||||||
|
|
||||||
|
```ts
|
||||||
|
optional maxIterations: number;
|
||||||
|
```
|
||||||
|
|
||||||
|
Max iterations to train kmeans.
|
||||||
|
|
||||||
|
The default value is 50.
|
||||||
|
|
||||||
|
When training an IVF index we use kmeans to calculate the partitions. This parameter
|
||||||
|
controls how many iterations of kmeans to run.
|
||||||
|
|
||||||
|
Increasing this might improve the quality of the index but in most cases the parameter
|
||||||
|
is unused because kmeans will converge with fewer iterations. The parameter is only
|
||||||
|
used in cases where kmeans does not appear to converge. In those cases it is unlikely
|
||||||
|
that setting this larger will lead to the index converging anyways.
|
||||||
|
|
||||||
|
***
|
||||||
|
|
||||||
|
### numPartitions?
|
||||||
|
|
||||||
|
```ts
|
||||||
|
optional numPartitions: number;
|
||||||
|
```
|
||||||
|
|
||||||
|
The number of IVF partitions to create.
|
||||||
|
|
||||||
|
For HNSW, we recommend a small number of partitions. Setting this to 1 works
|
||||||
|
well for most tables. For very large tables, training just one HNSW graph
|
||||||
|
will require too much memory. Each partition becomes its own HNSW graph, so
|
||||||
|
setting this value higher reduces the peak memory use of training.
|
||||||
|
|
||||||
|
***
|
||||||
|
|
||||||
|
### sampleRate?
|
||||||
|
|
||||||
|
```ts
|
||||||
|
optional sampleRate: number;
|
||||||
|
```
|
||||||
|
|
||||||
|
The rate used to calculate the number of training vectors for kmeans.
|
||||||
|
|
||||||
|
Default value is 256.
|
||||||
|
|
||||||
|
When an IVF index is trained, we need to calculate partitions. These are groups
|
||||||
|
of vectors that are similar to each other. To do this we use an algorithm called kmeans.
|
||||||
|
|
||||||
|
Running kmeans on a large dataset can be slow. To speed this up we run kmeans on a
|
||||||
|
random sample of the data. This parameter controls the size of the sample. The total
|
||||||
|
number of vectors used to train the index is `sample_rate * num_partitions`.
|
||||||
|
|
||||||
|
Increasing this value might improve the quality of the index but in most cases the
|
||||||
|
default should be sufficient.
|
||||||
40
docs/src/js/interfaces/OpenTableOptions.md
Normal file
40
docs/src/js/interfaces/OpenTableOptions.md
Normal file
@@ -0,0 +1,40 @@
|
|||||||
|
[**@lancedb/lancedb**](../README.md) • **Docs**
|
||||||
|
|
||||||
|
***
|
||||||
|
|
||||||
|
[@lancedb/lancedb](../globals.md) / OpenTableOptions
|
||||||
|
|
||||||
|
# Interface: OpenTableOptions
|
||||||
|
|
||||||
|
## Properties
|
||||||
|
|
||||||
|
### indexCacheSize?
|
||||||
|
|
||||||
|
```ts
|
||||||
|
optional indexCacheSize: number;
|
||||||
|
```
|
||||||
|
|
||||||
|
Set the size of the index cache, specified as a number of entries
|
||||||
|
|
||||||
|
The exact meaning of an "entry" will depend on the type of index:
|
||||||
|
- IVF: there is one entry for each IVF partition
|
||||||
|
- BTREE: there is one entry for the entire index
|
||||||
|
|
||||||
|
This cache applies to the entire opened table, across all indices.
|
||||||
|
Setting this value higher will increase performance on larger datasets
|
||||||
|
at the expense of more RAM
|
||||||
|
|
||||||
|
***
|
||||||
|
|
||||||
|
### storageOptions?
|
||||||
|
|
||||||
|
```ts
|
||||||
|
optional storageOptions: Record<string, string>;
|
||||||
|
```
|
||||||
|
|
||||||
|
Configuration for object storage.
|
||||||
|
|
||||||
|
Options already set on the connection will be inherited by the table,
|
||||||
|
but can be overridden here.
|
||||||
|
|
||||||
|
The available options are described at https://lancedb.github.io/lancedb/guides/storage/
|
||||||
29
docs/src/js/interfaces/OptimizeStats.md
Normal file
29
docs/src/js/interfaces/OptimizeStats.md
Normal file
@@ -0,0 +1,29 @@
|
|||||||
|
[**@lancedb/lancedb**](../README.md) • **Docs**
|
||||||
|
|
||||||
|
***
|
||||||
|
|
||||||
|
[@lancedb/lancedb](../globals.md) / OptimizeStats
|
||||||
|
|
||||||
|
# Interface: OptimizeStats
|
||||||
|
|
||||||
|
Statistics about an optimize operation
|
||||||
|
|
||||||
|
## Properties
|
||||||
|
|
||||||
|
### compaction
|
||||||
|
|
||||||
|
```ts
|
||||||
|
compaction: CompactionStats;
|
||||||
|
```
|
||||||
|
|
||||||
|
Statistics about the compaction operation
|
||||||
|
|
||||||
|
***
|
||||||
|
|
||||||
|
### prune
|
||||||
|
|
||||||
|
```ts
|
||||||
|
prune: RemovalStats;
|
||||||
|
```
|
||||||
|
|
||||||
|
Statistics about the removal operation
|
||||||
22
docs/src/js/interfaces/QueryExecutionOptions.md
Normal file
22
docs/src/js/interfaces/QueryExecutionOptions.md
Normal file
@@ -0,0 +1,22 @@
|
|||||||
|
[**@lancedb/lancedb**](../README.md) • **Docs**
|
||||||
|
|
||||||
|
***
|
||||||
|
|
||||||
|
[@lancedb/lancedb](../globals.md) / QueryExecutionOptions
|
||||||
|
|
||||||
|
# Interface: QueryExecutionOptions
|
||||||
|
|
||||||
|
Options that control the behavior of a particular query execution
|
||||||
|
|
||||||
|
## Properties
|
||||||
|
|
||||||
|
### maxBatchLength?
|
||||||
|
|
||||||
|
```ts
|
||||||
|
optional maxBatchLength: number;
|
||||||
|
```
|
||||||
|
|
||||||
|
The maximum number of rows to return in a single batch
|
||||||
|
|
||||||
|
Batches may have fewer rows if the underlying data is stored
|
||||||
|
in smaller chunks.
|
||||||
29
docs/src/js/interfaces/RemovalStats.md
Normal file
29
docs/src/js/interfaces/RemovalStats.md
Normal file
@@ -0,0 +1,29 @@
|
|||||||
|
[**@lancedb/lancedb**](../README.md) • **Docs**
|
||||||
|
|
||||||
|
***
|
||||||
|
|
||||||
|
[@lancedb/lancedb](../globals.md) / RemovalStats
|
||||||
|
|
||||||
|
# Interface: RemovalStats
|
||||||
|
|
||||||
|
Statistics about a cleanup operation
|
||||||
|
|
||||||
|
## Properties
|
||||||
|
|
||||||
|
### bytesRemoved
|
||||||
|
|
||||||
|
```ts
|
||||||
|
bytesRemoved: number;
|
||||||
|
```
|
||||||
|
|
||||||
|
The number of bytes removed
|
||||||
|
|
||||||
|
***
|
||||||
|
|
||||||
|
### oldVersionsRemoved
|
||||||
|
|
||||||
|
```ts
|
||||||
|
oldVersionsRemoved: number;
|
||||||
|
```
|
||||||
|
|
||||||
|
The number of old versions removed
|
||||||
31
docs/src/js/interfaces/Version.md
Normal file
31
docs/src/js/interfaces/Version.md
Normal file
@@ -0,0 +1,31 @@
|
|||||||
|
[**@lancedb/lancedb**](../README.md) • **Docs**
|
||||||
|
|
||||||
|
***
|
||||||
|
|
||||||
|
[@lancedb/lancedb](../globals.md) / Version
|
||||||
|
|
||||||
|
# Interface: Version
|
||||||
|
|
||||||
|
## Properties
|
||||||
|
|
||||||
|
### metadata
|
||||||
|
|
||||||
|
```ts
|
||||||
|
metadata: Record<string, string>;
|
||||||
|
```
|
||||||
|
|
||||||
|
***
|
||||||
|
|
||||||
|
### timestamp
|
||||||
|
|
||||||
|
```ts
|
||||||
|
timestamp: Date;
|
||||||
|
```
|
||||||
|
|
||||||
|
***
|
||||||
|
|
||||||
|
### version
|
||||||
|
|
||||||
|
```ts
|
||||||
|
version: number;
|
||||||
|
```
|
||||||
@@ -1,19 +0,0 @@
|
|||||||
[**@lancedb/lancedb**](../README.md) • **Docs**
|
|
||||||
|
|
||||||
***
|
|
||||||
|
|
||||||
[@lancedb/lancedb](../globals.md) / WriteOptions
|
|
||||||
|
|
||||||
# Interface: WriteOptions
|
|
||||||
|
|
||||||
Write options when creating a Table.
|
|
||||||
|
|
||||||
## Properties
|
|
||||||
|
|
||||||
### mode?
|
|
||||||
|
|
||||||
```ts
|
|
||||||
optional mode: WriteMode;
|
|
||||||
```
|
|
||||||
|
|
||||||
Write mode for writing to a table.
|
|
||||||
@@ -17,6 +17,14 @@
|
|||||||
### Interfaces
|
### Interfaces
|
||||||
|
|
||||||
- [EmbeddingFunctionConfig](interfaces/EmbeddingFunctionConfig.md)
|
- [EmbeddingFunctionConfig](interfaces/EmbeddingFunctionConfig.md)
|
||||||
|
- [EmbeddingFunctionConstructor](interfaces/EmbeddingFunctionConstructor.md)
|
||||||
|
- [EmbeddingFunctionCreate](interfaces/EmbeddingFunctionCreate.md)
|
||||||
|
- [FieldOptions](interfaces/FieldOptions.md)
|
||||||
|
- [FunctionOptions](interfaces/FunctionOptions.md)
|
||||||
|
|
||||||
|
### Type Aliases
|
||||||
|
|
||||||
|
- [CreateReturnType](type-aliases/CreateReturnType.md)
|
||||||
|
|
||||||
### Functions
|
### Functions
|
||||||
|
|
||||||
|
|||||||
@@ -16,7 +16,7 @@ An embedding function that automatically creates vector representation for a giv
|
|||||||
|
|
||||||
• **T** = `any`
|
• **T** = `any`
|
||||||
|
|
||||||
• **M** *extends* `FunctionOptions` = `FunctionOptions`
|
• **M** *extends* [`FunctionOptions`](../interfaces/FunctionOptions.md) = [`FunctionOptions`](../interfaces/FunctionOptions.md)
|
||||||
|
|
||||||
## Constructors
|
## Constructors
|
||||||
|
|
||||||
@@ -118,16 +118,16 @@ sourceField is used in combination with `LanceSchema` to provide a declarative d
|
|||||||
|
|
||||||
#### Parameters
|
#### Parameters
|
||||||
|
|
||||||
* **optionsOrDatatype**: `DataType`<`Type`, `any`> \| `Partial`<`FieldOptions`<`DataType`<`Type`, `any`>>>
|
* **optionsOrDatatype**: `DataType`<`Type`, `any`> \| `Partial`<[`FieldOptions`](../interfaces/FieldOptions.md)<`DataType`<`Type`, `any`>>>
|
||||||
The options for the field or the datatype
|
The options for the field or the datatype
|
||||||
|
|
||||||
#### Returns
|
#### Returns
|
||||||
|
|
||||||
[`DataType`<`Type`, `any`>, `Map`<`string`, [`EmbeddingFunction`](EmbeddingFunction.md)<`any`, `FunctionOptions`>>]
|
[`DataType`<`Type`, `any`>, `Map`<`string`, [`EmbeddingFunction`](EmbeddingFunction.md)<`any`, [`FunctionOptions`](../interfaces/FunctionOptions.md)>>]
|
||||||
|
|
||||||
#### See
|
#### See
|
||||||
|
|
||||||
lancedb.LanceSchema
|
[LanceSchema](../functions/LanceSchema.md)
|
||||||
|
|
||||||
***
|
***
|
||||||
|
|
||||||
@@ -178,12 +178,13 @@ vectorField is used in combination with `LanceSchema` to provide a declarative d
|
|||||||
|
|
||||||
#### Parameters
|
#### Parameters
|
||||||
|
|
||||||
* **optionsOrDatatype?**: `DataType`<`Type`, `any`> \| `Partial`<`FieldOptions`<`DataType`<`Type`, `any`>>>
|
* **optionsOrDatatype?**: `DataType`<`Type`, `any`> \| `Partial`<[`FieldOptions`](../interfaces/FieldOptions.md)<`DataType`<`Type`, `any`>>>
|
||||||
|
The options for the field
|
||||||
|
|
||||||
#### Returns
|
#### Returns
|
||||||
|
|
||||||
[`DataType`<`Type`, `any`>, `Map`<`string`, [`EmbeddingFunction`](EmbeddingFunction.md)<`any`, `FunctionOptions`>>]
|
[`DataType`<`Type`, `any`>, `Map`<`string`, [`EmbeddingFunction`](EmbeddingFunction.md)<`any`, [`FunctionOptions`](../interfaces/FunctionOptions.md)>>]
|
||||||
|
|
||||||
#### See
|
#### See
|
||||||
|
|
||||||
lancedb.LanceSchema
|
[LanceSchema](../functions/LanceSchema.md)
|
||||||
|
|||||||
@@ -51,7 +51,7 @@ Fetch an embedding function by name
|
|||||||
|
|
||||||
#### Type Parameters
|
#### Type Parameters
|
||||||
|
|
||||||
• **T** *extends* [`EmbeddingFunction`](EmbeddingFunction.md)<`unknown`, `FunctionOptions`>
|
• **T** *extends* [`EmbeddingFunction`](EmbeddingFunction.md)<`unknown`, [`FunctionOptions`](../interfaces/FunctionOptions.md)>
|
||||||
|
|
||||||
#### Parameters
|
#### Parameters
|
||||||
|
|
||||||
@@ -60,7 +60,7 @@ Fetch an embedding function by name
|
|||||||
|
|
||||||
#### Returns
|
#### Returns
|
||||||
|
|
||||||
`undefined` \| `EmbeddingFunctionCreate`<`T`>
|
`undefined` \| [`EmbeddingFunctionCreate`](../interfaces/EmbeddingFunctionCreate.md)<`T`>
|
||||||
|
|
||||||
***
|
***
|
||||||
|
|
||||||
@@ -104,7 +104,7 @@ Register an embedding function
|
|||||||
|
|
||||||
#### Type Parameters
|
#### Type Parameters
|
||||||
|
|
||||||
• **T** *extends* `EmbeddingFunctionConstructor`<[`EmbeddingFunction`](EmbeddingFunction.md)<`any`, `FunctionOptions`>> = `EmbeddingFunctionConstructor`<[`EmbeddingFunction`](EmbeddingFunction.md)<`any`, `FunctionOptions`>>
|
• **T** *extends* [`EmbeddingFunctionConstructor`](../interfaces/EmbeddingFunctionConstructor.md)<[`EmbeddingFunction`](EmbeddingFunction.md)<`any`, [`FunctionOptions`](../interfaces/FunctionOptions.md)>> = [`EmbeddingFunctionConstructor`](../interfaces/EmbeddingFunctionConstructor.md)<[`EmbeddingFunction`](EmbeddingFunction.md)<`any`, [`FunctionOptions`](../interfaces/FunctionOptions.md)>>
|
||||||
|
|
||||||
#### Parameters
|
#### Parameters
|
||||||
|
|
||||||
|
|||||||
@@ -14,7 +14,7 @@ an abstract class for implementing embedding functions that take text as input
|
|||||||
|
|
||||||
## Type Parameters
|
## Type Parameters
|
||||||
|
|
||||||
• **M** *extends* `FunctionOptions` = `FunctionOptions`
|
• **M** *extends* [`FunctionOptions`](../interfaces/FunctionOptions.md) = [`FunctionOptions`](../interfaces/FunctionOptions.md)
|
||||||
|
|
||||||
## Constructors
|
## Constructors
|
||||||
|
|
||||||
@@ -158,11 +158,11 @@ sourceField is used in combination with `LanceSchema` to provide a declarative d
|
|||||||
|
|
||||||
#### Returns
|
#### Returns
|
||||||
|
|
||||||
[`DataType`<`Type`, `any`>, `Map`<`string`, [`EmbeddingFunction`](EmbeddingFunction.md)<`any`, `FunctionOptions`>>]
|
[`DataType`<`Type`, `any`>, `Map`<`string`, [`EmbeddingFunction`](EmbeddingFunction.md)<`any`, [`FunctionOptions`](../interfaces/FunctionOptions.md)>>]
|
||||||
|
|
||||||
#### See
|
#### See
|
||||||
|
|
||||||
lancedb.LanceSchema
|
[LanceSchema](../functions/LanceSchema.md)
|
||||||
|
|
||||||
#### Overrides
|
#### Overrides
|
||||||
|
|
||||||
@@ -221,15 +221,16 @@ vectorField is used in combination with `LanceSchema` to provide a declarative d
|
|||||||
|
|
||||||
#### Parameters
|
#### Parameters
|
||||||
|
|
||||||
* **optionsOrDatatype?**: `DataType`<`Type`, `any`> \| `Partial`<`FieldOptions`<`DataType`<`Type`, `any`>>>
|
* **optionsOrDatatype?**: `DataType`<`Type`, `any`> \| `Partial`<[`FieldOptions`](../interfaces/FieldOptions.md)<`DataType`<`Type`, `any`>>>
|
||||||
|
The options for the field
|
||||||
|
|
||||||
#### Returns
|
#### Returns
|
||||||
|
|
||||||
[`DataType`<`Type`, `any`>, `Map`<`string`, [`EmbeddingFunction`](EmbeddingFunction.md)<`any`, `FunctionOptions`>>]
|
[`DataType`<`Type`, `any`>, `Map`<`string`, [`EmbeddingFunction`](EmbeddingFunction.md)<`any`, [`FunctionOptions`](../interfaces/FunctionOptions.md)>>]
|
||||||
|
|
||||||
#### See
|
#### See
|
||||||
|
|
||||||
lancedb.LanceSchema
|
[LanceSchema](../functions/LanceSchema.md)
|
||||||
|
|
||||||
#### Inherited from
|
#### Inherited from
|
||||||
|
|
||||||
|
|||||||
@@ -14,7 +14,7 @@ Create a schema with embedding functions.
|
|||||||
|
|
||||||
## Parameters
|
## Parameters
|
||||||
|
|
||||||
* **fields**: `Record`<`string`, `object` \| [`object`, `Map`<`string`, [`EmbeddingFunction`](../classes/EmbeddingFunction.md)<`any`, `FunctionOptions`>>]>
|
* **fields**: `Record`<`string`, `object` \| [`object`, `Map`<`string`, [`EmbeddingFunction`](../classes/EmbeddingFunction.md)<`any`, [`FunctionOptions`](../interfaces/FunctionOptions.md)>>]>
|
||||||
|
|
||||||
## Returns
|
## Returns
|
||||||
|
|
||||||
|
|||||||
@@ -20,7 +20,7 @@ function register(name?): (ctor) => any
|
|||||||
|
|
||||||
### Parameters
|
### Parameters
|
||||||
|
|
||||||
* **ctor**: `EmbeddingFunctionConstructor`<[`EmbeddingFunction`](../classes/EmbeddingFunction.md)<`any`, `FunctionOptions`>>
|
* **ctor**: [`EmbeddingFunctionConstructor`](../interfaces/EmbeddingFunctionConstructor.md)<[`EmbeddingFunction`](../classes/EmbeddingFunction.md)<`any`, [`FunctionOptions`](../interfaces/FunctionOptions.md)>>
|
||||||
|
|
||||||
### Returns
|
### Returns
|
||||||
|
|
||||||
|
|||||||
@@ -0,0 +1,27 @@
|
|||||||
|
[**@lancedb/lancedb**](../../../README.md) • **Docs**
|
||||||
|
|
||||||
|
***
|
||||||
|
|
||||||
|
[@lancedb/lancedb](../../../globals.md) / [embedding](../README.md) / EmbeddingFunctionConstructor
|
||||||
|
|
||||||
|
# Interface: EmbeddingFunctionConstructor<T>
|
||||||
|
|
||||||
|
## Type Parameters
|
||||||
|
|
||||||
|
• **T** *extends* [`EmbeddingFunction`](../classes/EmbeddingFunction.md) = [`EmbeddingFunction`](../classes/EmbeddingFunction.md)
|
||||||
|
|
||||||
|
## Constructors
|
||||||
|
|
||||||
|
### new EmbeddingFunctionConstructor()
|
||||||
|
|
||||||
|
```ts
|
||||||
|
new EmbeddingFunctionConstructor(modelOptions?): T
|
||||||
|
```
|
||||||
|
|
||||||
|
#### Parameters
|
||||||
|
|
||||||
|
* **modelOptions?**: `T`\[`"TOptions"`\]
|
||||||
|
|
||||||
|
#### Returns
|
||||||
|
|
||||||
|
`T`
|
||||||
@@ -0,0 +1,27 @@
|
|||||||
|
[**@lancedb/lancedb**](../../../README.md) • **Docs**
|
||||||
|
|
||||||
|
***
|
||||||
|
|
||||||
|
[@lancedb/lancedb](../../../globals.md) / [embedding](../README.md) / EmbeddingFunctionCreate
|
||||||
|
|
||||||
|
# Interface: EmbeddingFunctionCreate<T>
|
||||||
|
|
||||||
|
## Type Parameters
|
||||||
|
|
||||||
|
• **T** *extends* [`EmbeddingFunction`](../classes/EmbeddingFunction.md)
|
||||||
|
|
||||||
|
## Methods
|
||||||
|
|
||||||
|
### create()
|
||||||
|
|
||||||
|
```ts
|
||||||
|
create(options?): CreateReturnType<T>
|
||||||
|
```
|
||||||
|
|
||||||
|
#### Parameters
|
||||||
|
|
||||||
|
* **options?**: `T`\[`"TOptions"`\]
|
||||||
|
|
||||||
|
#### Returns
|
||||||
|
|
||||||
|
[`CreateReturnType`](../type-aliases/CreateReturnType.md)<`T`>
|
||||||
27
docs/src/js/namespaces/embedding/interfaces/FieldOptions.md
Normal file
27
docs/src/js/namespaces/embedding/interfaces/FieldOptions.md
Normal file
@@ -0,0 +1,27 @@
|
|||||||
|
[**@lancedb/lancedb**](../../../README.md) • **Docs**
|
||||||
|
|
||||||
|
***
|
||||||
|
|
||||||
|
[@lancedb/lancedb](../../../globals.md) / [embedding](../README.md) / FieldOptions
|
||||||
|
|
||||||
|
# Interface: FieldOptions<T>
|
||||||
|
|
||||||
|
## Type Parameters
|
||||||
|
|
||||||
|
• **T** *extends* `DataType` = `DataType`
|
||||||
|
|
||||||
|
## Properties
|
||||||
|
|
||||||
|
### datatype
|
||||||
|
|
||||||
|
```ts
|
||||||
|
datatype: T;
|
||||||
|
```
|
||||||
|
|
||||||
|
***
|
||||||
|
|
||||||
|
### dims?
|
||||||
|
|
||||||
|
```ts
|
||||||
|
optional dims: number;
|
||||||
|
```
|
||||||
@@ -0,0 +1,13 @@
|
|||||||
|
[**@lancedb/lancedb**](../../../README.md) • **Docs**
|
||||||
|
|
||||||
|
***
|
||||||
|
|
||||||
|
[@lancedb/lancedb](../../../globals.md) / [embedding](../README.md) / FunctionOptions
|
||||||
|
|
||||||
|
# Interface: FunctionOptions
|
||||||
|
|
||||||
|
Options for a given embedding function
|
||||||
|
|
||||||
|
## Indexable
|
||||||
|
|
||||||
|
\[`key`: `string`\]: `any`
|
||||||
@@ -0,0 +1,15 @@
|
|||||||
|
[**@lancedb/lancedb**](../../../README.md) • **Docs**
|
||||||
|
|
||||||
|
***
|
||||||
|
|
||||||
|
[@lancedb/lancedb](../../../globals.md) / [embedding](../README.md) / CreateReturnType
|
||||||
|
|
||||||
|
# Type Alias: CreateReturnType<T>
|
||||||
|
|
||||||
|
```ts
|
||||||
|
type CreateReturnType<T>: T extends object ? Promise<T> : T;
|
||||||
|
```
|
||||||
|
|
||||||
|
## Type Parameters
|
||||||
|
|
||||||
|
• **T**
|
||||||
@@ -8,24 +8,6 @@
|
|||||||
|
|
||||||
Reranks the results using the Reciprocal Rank Fusion (RRF) algorithm.
|
Reranks the results using the Reciprocal Rank Fusion (RRF) algorithm.
|
||||||
|
|
||||||
Internally this uses the Rust implementation
|
|
||||||
|
|
||||||
## Constructors
|
|
||||||
|
|
||||||
### new RRFReranker()
|
|
||||||
|
|
||||||
```ts
|
|
||||||
new RRFReranker(inner): RRFReranker
|
|
||||||
```
|
|
||||||
|
|
||||||
#### Parameters
|
|
||||||
|
|
||||||
* **inner**: `RrfReranker`
|
|
||||||
|
|
||||||
#### Returns
|
|
||||||
|
|
||||||
[`RRFReranker`](RRFReranker.md)
|
|
||||||
|
|
||||||
## Methods
|
## Methods
|
||||||
|
|
||||||
### rerankHybrid()
|
### rerankHybrid()
|
||||||
|
|||||||
11
docs/src/js/type-aliases/DataLike.md
Normal file
11
docs/src/js/type-aliases/DataLike.md
Normal file
@@ -0,0 +1,11 @@
|
|||||||
|
[**@lancedb/lancedb**](../README.md) • **Docs**
|
||||||
|
|
||||||
|
***
|
||||||
|
|
||||||
|
[@lancedb/lancedb](../globals.md) / DataLike
|
||||||
|
|
||||||
|
# Type Alias: DataLike
|
||||||
|
|
||||||
|
```ts
|
||||||
|
type DataLike: Data | object;
|
||||||
|
```
|
||||||
11
docs/src/js/type-aliases/FieldLike.md
Normal file
11
docs/src/js/type-aliases/FieldLike.md
Normal file
@@ -0,0 +1,11 @@
|
|||||||
|
[**@lancedb/lancedb**](../README.md) • **Docs**
|
||||||
|
|
||||||
|
***
|
||||||
|
|
||||||
|
[@lancedb/lancedb](../globals.md) / FieldLike
|
||||||
|
|
||||||
|
# Type Alias: FieldLike
|
||||||
|
|
||||||
|
```ts
|
||||||
|
type FieldLike: Field | object;
|
||||||
|
```
|
||||||
19
docs/src/js/type-aliases/IntoSql.md
Normal file
19
docs/src/js/type-aliases/IntoSql.md
Normal file
@@ -0,0 +1,19 @@
|
|||||||
|
[**@lancedb/lancedb**](../README.md) • **Docs**
|
||||||
|
|
||||||
|
***
|
||||||
|
|
||||||
|
[@lancedb/lancedb](../globals.md) / IntoSql
|
||||||
|
|
||||||
|
# Type Alias: IntoSql
|
||||||
|
|
||||||
|
```ts
|
||||||
|
type IntoSql:
|
||||||
|
| string
|
||||||
|
| number
|
||||||
|
| boolean
|
||||||
|
| null
|
||||||
|
| Date
|
||||||
|
| ArrayBufferLike
|
||||||
|
| Buffer
|
||||||
|
| IntoSql[];
|
||||||
|
```
|
||||||
11
docs/src/js/type-aliases/IntoVector.md
Normal file
11
docs/src/js/type-aliases/IntoVector.md
Normal file
@@ -0,0 +1,11 @@
|
|||||||
|
[**@lancedb/lancedb**](../README.md) • **Docs**
|
||||||
|
|
||||||
|
***
|
||||||
|
|
||||||
|
[@lancedb/lancedb](../globals.md) / IntoVector
|
||||||
|
|
||||||
|
# Type Alias: IntoVector
|
||||||
|
|
||||||
|
```ts
|
||||||
|
type IntoVector: Float32Array | Float64Array | number[] | Promise<Float32Array | Float64Array | number[]>;
|
||||||
|
```
|
||||||
11
docs/src/js/type-aliases/RecordBatchLike.md
Normal file
11
docs/src/js/type-aliases/RecordBatchLike.md
Normal file
@@ -0,0 +1,11 @@
|
|||||||
|
[**@lancedb/lancedb**](../README.md) • **Docs**
|
||||||
|
|
||||||
|
***
|
||||||
|
|
||||||
|
[@lancedb/lancedb](../globals.md) / RecordBatchLike
|
||||||
|
|
||||||
|
# Type Alias: RecordBatchLike
|
||||||
|
|
||||||
|
```ts
|
||||||
|
type RecordBatchLike: RecordBatch | object;
|
||||||
|
```
|
||||||
11
docs/src/js/type-aliases/SchemaLike.md
Normal file
11
docs/src/js/type-aliases/SchemaLike.md
Normal file
@@ -0,0 +1,11 @@
|
|||||||
|
[**@lancedb/lancedb**](../README.md) • **Docs**
|
||||||
|
|
||||||
|
***
|
||||||
|
|
||||||
|
[@lancedb/lancedb](../globals.md) / SchemaLike
|
||||||
|
|
||||||
|
# Type Alias: SchemaLike
|
||||||
|
|
||||||
|
```ts
|
||||||
|
type SchemaLike: Schema | object;
|
||||||
|
```
|
||||||
11
docs/src/js/type-aliases/TableLike.md
Normal file
11
docs/src/js/type-aliases/TableLike.md
Normal file
@@ -0,0 +1,11 @@
|
|||||||
|
[**@lancedb/lancedb**](../README.md) • **Docs**
|
||||||
|
|
||||||
|
***
|
||||||
|
|
||||||
|
[@lancedb/lancedb](../globals.md) / TableLike
|
||||||
|
|
||||||
|
# Type Alias: TableLike
|
||||||
|
|
||||||
|
```ts
|
||||||
|
type TableLike: ArrowTable | object;
|
||||||
|
```
|
||||||
@@ -32,7 +32,7 @@ const results = await table.vectorSearch([0.1, 0.3]).limit(20).toArray();
|
|||||||
console.log(results);
|
console.log(results);
|
||||||
```
|
```
|
||||||
|
|
||||||
The [quickstart](../basic.md) contains a more complete example.
|
The [quickstart](https://lancedb.github.io/lancedb/basic/) contains a more complete example.
|
||||||
|
|
||||||
## Development
|
## Development
|
||||||
|
|
||||||
|
|||||||
@@ -257,6 +257,7 @@ export class MakeArrowTableOptions {
|
|||||||
* - Record<String, any> => Struct
|
* - Record<String, any> => Struct
|
||||||
* - Array<any> => List
|
* - Array<any> => List
|
||||||
* @example
|
* @example
|
||||||
|
* ```ts
|
||||||
* import { fromTableToBuffer, makeArrowTable } from "../arrow";
|
* import { fromTableToBuffer, makeArrowTable } from "../arrow";
|
||||||
* import { Field, FixedSizeList, Float16, Float32, Int32, Schema } from "apache-arrow";
|
* import { Field, FixedSizeList, Float16, Float32, Int32, Schema } from "apache-arrow";
|
||||||
*
|
*
|
||||||
@@ -278,43 +279,41 @@ export class MakeArrowTableOptions {
|
|||||||
* names and data types.
|
* names and data types.
|
||||||
*
|
*
|
||||||
* ```ts
|
* ```ts
|
||||||
*
|
|
||||||
* const schema = new Schema([
|
* const schema = new Schema([
|
||||||
new Field("a", new Float64()),
|
* new Field("a", new Float64()),
|
||||||
new Field("b", new Float64()),
|
* new Field("b", new Float64()),
|
||||||
new Field(
|
* new Field(
|
||||||
"vector",
|
* "vector",
|
||||||
new FixedSizeList(3, new Field("item", new Float32()))
|
* new FixedSizeList(3, new Field("item", new Float32()))
|
||||||
),
|
* ),
|
||||||
]);
|
* ]);
|
||||||
const table = makeArrowTable([
|
* const table = makeArrowTable([
|
||||||
{ a: 1, b: 2, vector: [1, 2, 3] },
|
* { a: 1, b: 2, vector: [1, 2, 3] },
|
||||||
{ a: 4, b: 5, vector: [4, 5, 6] },
|
* { a: 4, b: 5, vector: [4, 5, 6] },
|
||||||
{ a: 7, b: 8, vector: [7, 8, 9] },
|
* { a: 7, b: 8, vector: [7, 8, 9] },
|
||||||
]);
|
* ]);
|
||||||
assert.deepEqual(table.schema, schema);
|
* assert.deepEqual(table.schema, schema);
|
||||||
* ```
|
* ```
|
||||||
*
|
*
|
||||||
* You can specify the vector column types and names using the options as well
|
* You can specify the vector column types and names using the options as well
|
||||||
*
|
*
|
||||||
* ```typescript
|
* ```ts
|
||||||
*
|
|
||||||
* const schema = new Schema([
|
* const schema = new Schema([
|
||||||
new Field('a', new Float64()),
|
* new Field('a', new Float64()),
|
||||||
new Field('b', new Float64()),
|
* new Field('b', new Float64()),
|
||||||
new Field('vec1', new FixedSizeList(3, new Field('item', new Float16()))),
|
* new Field('vec1', new FixedSizeList(3, new Field('item', new Float16()))),
|
||||||
new Field('vec2', new FixedSizeList(3, new Field('item', new Float16())))
|
* new Field('vec2', new FixedSizeList(3, new Field('item', new Float16())))
|
||||||
]);
|
* ]);
|
||||||
* const table = makeArrowTable([
|
* const table = makeArrowTable([
|
||||||
{ a: 1, b: 2, vec1: [1, 2, 3], vec2: [2, 4, 6] },
|
* { a: 1, b: 2, vec1: [1, 2, 3], vec2: [2, 4, 6] },
|
||||||
{ a: 4, b: 5, vec1: [4, 5, 6], vec2: [8, 10, 12] },
|
* { a: 4, b: 5, vec1: [4, 5, 6], vec2: [8, 10, 12] },
|
||||||
{ a: 7, b: 8, vec1: [7, 8, 9], vec2: [14, 16, 18] }
|
* { a: 7, b: 8, vec1: [7, 8, 9], vec2: [14, 16, 18] }
|
||||||
], {
|
* ], {
|
||||||
vectorColumns: {
|
* vectorColumns: {
|
||||||
vec1: { type: new Float16() },
|
* vec1: { type: new Float16() },
|
||||||
vec2: { type: new Float16() }
|
* vec2: { type: new Float16() }
|
||||||
}
|
* }
|
||||||
}
|
* }
|
||||||
* assert.deepEqual(table.schema, schema)
|
* assert.deepEqual(table.schema, schema)
|
||||||
* ```
|
* ```
|
||||||
*/
|
*/
|
||||||
|
|||||||
@@ -1,10 +1,23 @@
|
|||||||
// SPDX-License-Identifier: Apache-2.0
|
// SPDX-License-Identifier: Apache-2.0
|
||||||
// SPDX-FileCopyrightText: Copyright The LanceDB Authors
|
// SPDX-FileCopyrightText: Copyright The LanceDB Authors
|
||||||
|
|
||||||
import { Data, Schema, SchemaLike, TableLike } from "./arrow";
|
import {
|
||||||
import { fromTableToBuffer, makeEmptyTable } from "./arrow";
|
Data,
|
||||||
|
Schema,
|
||||||
|
SchemaLike,
|
||||||
|
TableLike,
|
||||||
|
fromTableToStreamBuffer,
|
||||||
|
isArrowTable,
|
||||||
|
makeArrowTable,
|
||||||
|
} from "./arrow";
|
||||||
|
import {
|
||||||
|
Table as ArrowTable,
|
||||||
|
fromTableToBuffer,
|
||||||
|
makeEmptyTable,
|
||||||
|
} from "./arrow";
|
||||||
import { EmbeddingFunctionConfig, getRegistry } from "./embedding/registry";
|
import { EmbeddingFunctionConfig, getRegistry } from "./embedding/registry";
|
||||||
import { Connection as LanceDbConnection } from "./native";
|
import { Connection as LanceDbConnection } from "./native";
|
||||||
|
import { sanitizeTable } from "./sanitize";
|
||||||
import { LocalTable, Table } from "./table";
|
import { LocalTable, Table } from "./table";
|
||||||
|
|
||||||
export interface CreateTableOptions {
|
export interface CreateTableOptions {
|
||||||
@@ -116,6 +129,7 @@ export interface TableNamesOptions {
|
|||||||
*
|
*
|
||||||
* Any created tables are independent and will continue to work even if
|
* Any created tables are independent and will continue to work even if
|
||||||
* the underlying connection has been closed.
|
* the underlying connection has been closed.
|
||||||
|
* @hideconstructor
|
||||||
*/
|
*/
|
||||||
export abstract class Connection {
|
export abstract class Connection {
|
||||||
[Symbol.for("nodejs.util.inspect.custom")](): string {
|
[Symbol.for("nodejs.util.inspect.custom")](): string {
|
||||||
@@ -203,9 +217,11 @@ export abstract class Connection {
|
|||||||
abstract dropTable(name: string): Promise<void>;
|
abstract dropTable(name: string): Promise<void>;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/** @hideconstructor */
|
||||||
export class LocalConnection extends Connection {
|
export class LocalConnection extends Connection {
|
||||||
readonly inner: LanceDbConnection;
|
readonly inner: LanceDbConnection;
|
||||||
|
|
||||||
|
/** @hidden */
|
||||||
constructor(inner: LanceDbConnection) {
|
constructor(inner: LanceDbConnection) {
|
||||||
super();
|
super();
|
||||||
this.inner = inner;
|
this.inner = inner;
|
||||||
@@ -255,7 +271,7 @@ export class LocalConnection extends Connection {
|
|||||||
if (data === undefined) {
|
if (data === undefined) {
|
||||||
throw new Error("data is required");
|
throw new Error("data is required");
|
||||||
}
|
}
|
||||||
const { buf, mode } = await Table.parseTableData(data, options);
|
const { buf, mode } = await parseTableData(data, options);
|
||||||
let dataStorageVersion = "stable";
|
let dataStorageVersion = "stable";
|
||||||
if (options?.dataStorageVersion !== undefined) {
|
if (options?.dataStorageVersion !== undefined) {
|
||||||
dataStorageVersion = options.dataStorageVersion;
|
dataStorageVersion = options.dataStorageVersion;
|
||||||
@@ -357,3 +373,38 @@ function camelToSnakeCase(camel: string): string {
|
|||||||
}
|
}
|
||||||
return result;
|
return result;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
async function parseTableData(
|
||||||
|
data: Record<string, unknown>[] | TableLike,
|
||||||
|
options?: Partial<CreateTableOptions>,
|
||||||
|
streaming = false,
|
||||||
|
) {
|
||||||
|
let mode: string = options?.mode ?? "create";
|
||||||
|
const existOk = options?.existOk ?? false;
|
||||||
|
|
||||||
|
if (mode === "create" && existOk) {
|
||||||
|
mode = "exist_ok";
|
||||||
|
}
|
||||||
|
|
||||||
|
let table: ArrowTable;
|
||||||
|
if (isArrowTable(data)) {
|
||||||
|
table = sanitizeTable(data);
|
||||||
|
} else {
|
||||||
|
table = makeArrowTable(data as Record<string, unknown>[], options);
|
||||||
|
}
|
||||||
|
if (streaming) {
|
||||||
|
const buf = await fromTableToStreamBuffer(
|
||||||
|
table,
|
||||||
|
options?.embeddingFunction,
|
||||||
|
options?.schema,
|
||||||
|
);
|
||||||
|
return { buf, mode };
|
||||||
|
} else {
|
||||||
|
const buf = await fromTableToBuffer(
|
||||||
|
table,
|
||||||
|
options?.embeddingFunction,
|
||||||
|
options?.schema,
|
||||||
|
);
|
||||||
|
return { buf, mode };
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|||||||
@@ -78,7 +78,7 @@ export abstract class EmbeddingFunction<
|
|||||||
*
|
*
|
||||||
* @param optionsOrDatatype - The options for the field or the datatype
|
* @param optionsOrDatatype - The options for the field or the datatype
|
||||||
*
|
*
|
||||||
* @see {@link lancedb.LanceSchema}
|
* @see {@link LanceSchema}
|
||||||
*/
|
*/
|
||||||
sourceField(
|
sourceField(
|
||||||
optionsOrDatatype: Partial<FieldOptions> | DataType,
|
optionsOrDatatype: Partial<FieldOptions> | DataType,
|
||||||
@@ -100,9 +100,9 @@ export abstract class EmbeddingFunction<
|
|||||||
/**
|
/**
|
||||||
* vectorField is used in combination with `LanceSchema` to provide a declarative data model
|
* vectorField is used in combination with `LanceSchema` to provide a declarative data model
|
||||||
*
|
*
|
||||||
* @param options - The options for the field
|
* @param optionsOrDatatype - The options for the field
|
||||||
*
|
*
|
||||||
* @see {@link lancedb.LanceSchema}
|
* @see {@link LanceSchema}
|
||||||
*/
|
*/
|
||||||
vectorField(
|
vectorField(
|
||||||
optionsOrDatatype?: Partial<FieldOptions> | DataType,
|
optionsOrDatatype?: Partial<FieldOptions> | DataType,
|
||||||
|
|||||||
@@ -6,7 +6,13 @@ import { sanitizeType } from "../sanitize";
|
|||||||
import { EmbeddingFunction } from "./embedding_function";
|
import { EmbeddingFunction } from "./embedding_function";
|
||||||
import { EmbeddingFunctionConfig, getRegistry } from "./registry";
|
import { EmbeddingFunctionConfig, getRegistry } from "./registry";
|
||||||
|
|
||||||
export { EmbeddingFunction, TextEmbeddingFunction } from "./embedding_function";
|
export {
|
||||||
|
FieldOptions,
|
||||||
|
EmbeddingFunction,
|
||||||
|
TextEmbeddingFunction,
|
||||||
|
FunctionOptions,
|
||||||
|
EmbeddingFunctionConstructor,
|
||||||
|
} from "./embedding_function";
|
||||||
|
|
||||||
export * from "./registry";
|
export * from "./registry";
|
||||||
|
|
||||||
|
|||||||
@@ -7,11 +7,11 @@ import {
|
|||||||
} from "./embedding_function";
|
} from "./embedding_function";
|
||||||
import "reflect-metadata";
|
import "reflect-metadata";
|
||||||
|
|
||||||
type CreateReturnType<T> = T extends { init: () => Promise<void> }
|
export type CreateReturnType<T> = T extends { init: () => Promise<void> }
|
||||||
? Promise<T>
|
? Promise<T>
|
||||||
: T;
|
: T;
|
||||||
|
|
||||||
interface EmbeddingFunctionCreate<T extends EmbeddingFunction> {
|
export interface EmbeddingFunctionCreate<T extends EmbeddingFunction> {
|
||||||
create(options?: T["TOptions"]): CreateReturnType<T>;
|
create(options?: T["TOptions"]): CreateReturnType<T>;
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -33,8 +33,6 @@ export class EmbeddingFunctionRegistry {
|
|||||||
|
|
||||||
/**
|
/**
|
||||||
* Register an embedding function
|
* Register an embedding function
|
||||||
* @param name The name of the function
|
|
||||||
* @param func The function to register
|
|
||||||
* @throws Error if the function is already registered
|
* @throws Error if the function is already registered
|
||||||
*/
|
*/
|
||||||
register<
|
register<
|
||||||
|
|||||||
@@ -13,8 +13,6 @@ import {
|
|||||||
} from "./native.js";
|
} from "./native.js";
|
||||||
|
|
||||||
export {
|
export {
|
||||||
WriteOptions,
|
|
||||||
WriteMode,
|
|
||||||
AddColumnsSql,
|
AddColumnsSql,
|
||||||
ColumnAlteration,
|
ColumnAlteration,
|
||||||
ConnectionOptions,
|
ConnectionOptions,
|
||||||
@@ -23,6 +21,9 @@ export {
|
|||||||
ClientConfig,
|
ClientConfig,
|
||||||
TimeoutConfig,
|
TimeoutConfig,
|
||||||
RetryConfig,
|
RetryConfig,
|
||||||
|
OptimizeStats,
|
||||||
|
CompactionStats,
|
||||||
|
RemovalStats,
|
||||||
} from "./native.js";
|
} from "./native.js";
|
||||||
|
|
||||||
export {
|
export {
|
||||||
@@ -36,6 +37,7 @@ export {
|
|||||||
Connection,
|
Connection,
|
||||||
CreateTableOptions,
|
CreateTableOptions,
|
||||||
TableNamesOptions,
|
TableNamesOptions,
|
||||||
|
OpenTableOptions,
|
||||||
} from "./connection";
|
} from "./connection";
|
||||||
|
|
||||||
export {
|
export {
|
||||||
@@ -43,15 +45,41 @@ export {
|
|||||||
Query,
|
Query,
|
||||||
QueryBase,
|
QueryBase,
|
||||||
VectorQuery,
|
VectorQuery,
|
||||||
|
QueryExecutionOptions,
|
||||||
|
FullTextSearchOptions,
|
||||||
RecordBatchIterator,
|
RecordBatchIterator,
|
||||||
} from "./query";
|
} from "./query";
|
||||||
|
|
||||||
export { Index, IndexOptions, IvfPqOptions } from "./indices";
|
export {
|
||||||
|
Index,
|
||||||
|
IndexOptions,
|
||||||
|
IvfPqOptions,
|
||||||
|
HnswPqOptions,
|
||||||
|
HnswSqOptions,
|
||||||
|
FtsOptions,
|
||||||
|
} from "./indices";
|
||||||
|
|
||||||
export { Table, AddDataOptions, UpdateOptions, OptimizeOptions } from "./table";
|
export {
|
||||||
|
Table,
|
||||||
|
AddDataOptions,
|
||||||
|
UpdateOptions,
|
||||||
|
OptimizeOptions,
|
||||||
|
Version,
|
||||||
|
} from "./table";
|
||||||
|
|
||||||
|
export { MergeInsertBuilder } from "./merge";
|
||||||
|
|
||||||
export * as embedding from "./embedding";
|
export * as embedding from "./embedding";
|
||||||
export * as rerankers from "./rerankers";
|
export * as rerankers from "./rerankers";
|
||||||
|
export {
|
||||||
|
SchemaLike,
|
||||||
|
TableLike,
|
||||||
|
FieldLike,
|
||||||
|
RecordBatchLike,
|
||||||
|
DataLike,
|
||||||
|
IntoVector,
|
||||||
|
} from "./arrow";
|
||||||
|
export { IntoSql } from "./util";
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Connect to a LanceDB instance at the given URI.
|
* Connect to a LanceDB instance at the given URI.
|
||||||
@@ -64,6 +92,7 @@ export * as rerankers from "./rerankers";
|
|||||||
* @param {string} uri - The uri of the database. If the database uri starts
|
* @param {string} uri - The uri of the database. If the database uri starts
|
||||||
* with `db://` then it connects to a remote database.
|
* with `db://` then it connects to a remote database.
|
||||||
* @see {@link ConnectionOptions} for more details on the URI format.
|
* @see {@link ConnectionOptions} for more details on the URI format.
|
||||||
|
* @param options - The options to use when connecting to the database
|
||||||
* @example
|
* @example
|
||||||
* ```ts
|
* ```ts
|
||||||
* const conn = await connect("/path/to/database");
|
* const conn = await connect("/path/to/database");
|
||||||
@@ -78,7 +107,7 @@ export * as rerankers from "./rerankers";
|
|||||||
*/
|
*/
|
||||||
export async function connect(
|
export async function connect(
|
||||||
uri: string,
|
uri: string,
|
||||||
opts?: Partial<ConnectionOptions>,
|
options?: Partial<ConnectionOptions>,
|
||||||
): Promise<Connection>;
|
): Promise<Connection>;
|
||||||
/**
|
/**
|
||||||
* Connect to a LanceDB instance at the given URI.
|
* Connect to a LanceDB instance at the given URI.
|
||||||
@@ -99,17 +128,17 @@ export async function connect(
|
|||||||
* ```
|
* ```
|
||||||
*/
|
*/
|
||||||
export async function connect(
|
export async function connect(
|
||||||
opts: Partial<ConnectionOptions> & { uri: string },
|
options: Partial<ConnectionOptions> & { uri: string },
|
||||||
): Promise<Connection>;
|
): Promise<Connection>;
|
||||||
export async function connect(
|
export async function connect(
|
||||||
uriOrOptions: string | (Partial<ConnectionOptions> & { uri: string }),
|
uriOrOptions: string | (Partial<ConnectionOptions> & { uri: string }),
|
||||||
opts: Partial<ConnectionOptions> = {},
|
options: Partial<ConnectionOptions> = {},
|
||||||
): Promise<Connection> {
|
): Promise<Connection> {
|
||||||
let uri: string | undefined;
|
let uri: string | undefined;
|
||||||
if (typeof uriOrOptions !== "string") {
|
if (typeof uriOrOptions !== "string") {
|
||||||
const { uri: uri_, ...options } = uriOrOptions;
|
const { uri: uri_, ...opts } = uriOrOptions;
|
||||||
uri = uri_;
|
uri = uri_;
|
||||||
opts = options;
|
options = opts;
|
||||||
} else {
|
} else {
|
||||||
uri = uriOrOptions;
|
uri = uriOrOptions;
|
||||||
}
|
}
|
||||||
@@ -118,10 +147,10 @@ export async function connect(
|
|||||||
throw new Error("uri is required");
|
throw new Error("uri is required");
|
||||||
}
|
}
|
||||||
|
|
||||||
opts = (opts as ConnectionOptions) ?? {};
|
options = (options as ConnectionOptions) ?? {};
|
||||||
(<ConnectionOptions>opts).storageOptions = cleanseStorageOptions(
|
(<ConnectionOptions>options).storageOptions = cleanseStorageOptions(
|
||||||
(<ConnectionOptions>opts).storageOptions,
|
(<ConnectionOptions>options).storageOptions,
|
||||||
);
|
);
|
||||||
const nativeConn = await LanceDbConnection.new(uri, opts);
|
const nativeConn = await LanceDbConnection.new(uri, options);
|
||||||
return new LocalConnection(nativeConn);
|
return new LocalConnection(nativeConn);
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -481,8 +481,6 @@ export class Index {
|
|||||||
* The results of a full text search are ordered by relevance measured by BM25.
|
* The results of a full text search are ordered by relevance measured by BM25.
|
||||||
*
|
*
|
||||||
* You can combine filters with full text search.
|
* You can combine filters with full text search.
|
||||||
*
|
|
||||||
* For now, the full text search index only supports English, and doesn't support phrase search.
|
|
||||||
*/
|
*/
|
||||||
static fts(options?: Partial<FtsOptions>) {
|
static fts(options?: Partial<FtsOptions>) {
|
||||||
return new Index(
|
return new Index(
|
||||||
|
|||||||
@@ -93,10 +93,19 @@ export interface FullTextSearchOptions {
|
|||||||
columns?: string | string[];
|
columns?: string | string[];
|
||||||
}
|
}
|
||||||
|
|
||||||
/** Common methods supported by all query types */
|
/** Common methods supported by all query types
|
||||||
|
*
|
||||||
|
* @see {@link Query}
|
||||||
|
* @see {@link VectorQuery}
|
||||||
|
*
|
||||||
|
* @hideconstructor
|
||||||
|
*/
|
||||||
export class QueryBase<NativeQueryType extends NativeQuery | NativeVectorQuery>
|
export class QueryBase<NativeQueryType extends NativeQuery | NativeVectorQuery>
|
||||||
implements AsyncIterable<RecordBatch>
|
implements AsyncIterable<RecordBatch>
|
||||||
{
|
{
|
||||||
|
/**
|
||||||
|
* @hidden
|
||||||
|
*/
|
||||||
protected constructor(
|
protected constructor(
|
||||||
protected inner: NativeQueryType | Promise<NativeQueryType>,
|
protected inner: NativeQueryType | Promise<NativeQueryType>,
|
||||||
) {
|
) {
|
||||||
@@ -104,6 +113,9 @@ export class QueryBase<NativeQueryType extends NativeQuery | NativeVectorQuery>
|
|||||||
}
|
}
|
||||||
|
|
||||||
// call a function on the inner (either a promise or the actual object)
|
// call a function on the inner (either a promise or the actual object)
|
||||||
|
/**
|
||||||
|
* @hidden
|
||||||
|
*/
|
||||||
protected doCall(fn: (inner: NativeQueryType) => void) {
|
protected doCall(fn: (inner: NativeQueryType) => void) {
|
||||||
if (this.inner instanceof Promise) {
|
if (this.inner instanceof Promise) {
|
||||||
this.inner = this.inner.then((inner) => {
|
this.inner = this.inner.then((inner) => {
|
||||||
@@ -132,7 +144,7 @@ export class QueryBase<NativeQueryType extends NativeQuery | NativeVectorQuery>
|
|||||||
}
|
}
|
||||||
/**
|
/**
|
||||||
* A filter statement to be applied to this query.
|
* A filter statement to be applied to this query.
|
||||||
* @alias where
|
* @see where
|
||||||
* @deprecated Use `where` instead
|
* @deprecated Use `where` instead
|
||||||
*/
|
*/
|
||||||
filter(predicate: string): this {
|
filter(predicate: string): this {
|
||||||
@@ -235,7 +247,7 @@ export class QueryBase<NativeQueryType extends NativeQuery | NativeVectorQuery>
|
|||||||
* Skip searching un-indexed data. This can make search faster, but will miss
|
* Skip searching un-indexed data. This can make search faster, but will miss
|
||||||
* any data that is not yet indexed.
|
* any data that is not yet indexed.
|
||||||
*
|
*
|
||||||
* Use {@link lancedb.Table#optimize} to index all un-indexed data.
|
* Use {@link Table#optimize} to index all un-indexed data.
|
||||||
*/
|
*/
|
||||||
fastSearch(): this {
|
fastSearch(): this {
|
||||||
this.doCall((inner: NativeQueryType) => inner.fastSearch());
|
this.doCall((inner: NativeQueryType) => inner.fastSearch());
|
||||||
@@ -254,6 +266,9 @@ export class QueryBase<NativeQueryType extends NativeQuery | NativeVectorQuery>
|
|||||||
return this;
|
return this;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @hidden
|
||||||
|
*/
|
||||||
protected nativeExecute(
|
protected nativeExecute(
|
||||||
options?: Partial<QueryExecutionOptions>,
|
options?: Partial<QueryExecutionOptions>,
|
||||||
): Promise<NativeBatchIterator> {
|
): Promise<NativeBatchIterator> {
|
||||||
@@ -281,6 +296,9 @@ export class QueryBase<NativeQueryType extends NativeQuery | NativeVectorQuery>
|
|||||||
return new RecordBatchIterator(this.nativeExecute(options));
|
return new RecordBatchIterator(this.nativeExecute(options));
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @hidden
|
||||||
|
*/
|
||||||
// biome-ignore lint/suspicious/noExplicitAny: skip
|
// biome-ignore lint/suspicious/noExplicitAny: skip
|
||||||
[Symbol.asyncIterator](): AsyncIterator<RecordBatch<any>> {
|
[Symbol.asyncIterator](): AsyncIterator<RecordBatch<any>> {
|
||||||
const promise = this.nativeExecute();
|
const promise = this.nativeExecute();
|
||||||
@@ -343,8 +361,15 @@ export interface ExecutableQuery {}
|
|||||||
* A builder used to construct a vector search
|
* A builder used to construct a vector search
|
||||||
*
|
*
|
||||||
* This builder can be reused to execute the query many times.
|
* This builder can be reused to execute the query many times.
|
||||||
|
*
|
||||||
|
* @see {@link Query#nearestTo}
|
||||||
|
*
|
||||||
|
* @hideconstructor
|
||||||
*/
|
*/
|
||||||
export class VectorQuery extends QueryBase<NativeVectorQuery> {
|
export class VectorQuery extends QueryBase<NativeVectorQuery> {
|
||||||
|
/**
|
||||||
|
* @hidden
|
||||||
|
*/
|
||||||
constructor(inner: NativeVectorQuery | Promise<NativeVectorQuery>) {
|
constructor(inner: NativeVectorQuery | Promise<NativeVectorQuery>) {
|
||||||
super(inner);
|
super(inner);
|
||||||
}
|
}
|
||||||
@@ -570,8 +595,16 @@ export class VectorQuery extends QueryBase<NativeVectorQuery> {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
/** A builder for LanceDB queries. */
|
/** A builder for LanceDB queries.
|
||||||
|
*
|
||||||
|
* @see {@link Table#query}, {@link Table#search}
|
||||||
|
*
|
||||||
|
* @hideconstructor
|
||||||
|
*/
|
||||||
export class Query extends QueryBase<NativeQuery> {
|
export class Query extends QueryBase<NativeQuery> {
|
||||||
|
/**
|
||||||
|
* @hidden
|
||||||
|
*/
|
||||||
constructor(tbl: NativeTable) {
|
constructor(tbl: NativeTable) {
|
||||||
super(tbl.query());
|
super(tbl.query());
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -8,11 +8,12 @@ import { RrfReranker as NativeRRFReranker } from "../native";
|
|||||||
/**
|
/**
|
||||||
* Reranks the results using the Reciprocal Rank Fusion (RRF) algorithm.
|
* Reranks the results using the Reciprocal Rank Fusion (RRF) algorithm.
|
||||||
*
|
*
|
||||||
* Internally this uses the Rust implementation
|
* @hideconstructor
|
||||||
*/
|
*/
|
||||||
export class RRFReranker {
|
export class RRFReranker {
|
||||||
private inner: NativeRRFReranker;
|
private inner: NativeRRFReranker;
|
||||||
|
|
||||||
|
/** @ignore */
|
||||||
constructor(inner: NativeRRFReranker) {
|
constructor(inner: NativeRRFReranker) {
|
||||||
this.inner = inner;
|
this.inner = inner;
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -6,15 +6,9 @@ import {
|
|||||||
Data,
|
Data,
|
||||||
IntoVector,
|
IntoVector,
|
||||||
Schema,
|
Schema,
|
||||||
TableLike,
|
|
||||||
fromDataToBuffer,
|
fromDataToBuffer,
|
||||||
fromTableToBuffer,
|
|
||||||
fromTableToStreamBuffer,
|
|
||||||
isArrowTable,
|
|
||||||
makeArrowTable,
|
|
||||||
tableFromIPC,
|
tableFromIPC,
|
||||||
} from "./arrow";
|
} from "./arrow";
|
||||||
import { CreateTableOptions } from "./connection";
|
|
||||||
|
|
||||||
import { EmbeddingFunctionConfig, getRegistry } from "./embedding/registry";
|
import { EmbeddingFunctionConfig, getRegistry } from "./embedding/registry";
|
||||||
import { IndexOptions } from "./indices";
|
import { IndexOptions } from "./indices";
|
||||||
@@ -28,7 +22,6 @@ import {
|
|||||||
Table as _NativeTable,
|
Table as _NativeTable,
|
||||||
} from "./native";
|
} from "./native";
|
||||||
import { Query, VectorQuery } from "./query";
|
import { Query, VectorQuery } from "./query";
|
||||||
import { sanitizeTable } from "./sanitize";
|
|
||||||
import { IntoSql, toSQL } from "./util";
|
import { IntoSql, toSQL } from "./util";
|
||||||
export { IndexConfig } from "./native";
|
export { IndexConfig } from "./native";
|
||||||
|
|
||||||
@@ -91,8 +84,14 @@ export interface Version {
|
|||||||
* can call the `close` method. Once the Table is closed, it cannot be used for any
|
* can call the `close` method. Once the Table is closed, it cannot be used for any
|
||||||
* further operations.
|
* further operations.
|
||||||
*
|
*
|
||||||
|
* Tables are created using the methods {@link Connection#createTable}
|
||||||
|
* and {@link Connection#createEmptyTable}. Existing tables are opened
|
||||||
|
* using {@link Connection#openTable}.
|
||||||
|
*
|
||||||
* Closing a table is optional. It not closed, it will be closed when it is garbage
|
* Closing a table is optional. It not closed, it will be closed when it is garbage
|
||||||
* collected.
|
* collected.
|
||||||
|
*
|
||||||
|
* @hideconstructor
|
||||||
*/
|
*/
|
||||||
export abstract class Table {
|
export abstract class Table {
|
||||||
[Symbol.for("nodejs.util.inspect.custom")](): string {
|
[Symbol.for("nodejs.util.inspect.custom")](): string {
|
||||||
@@ -190,8 +189,9 @@ export abstract class Table {
|
|||||||
* Indices on scalar columns will speed up filtering (in both
|
* Indices on scalar columns will speed up filtering (in both
|
||||||
* vector and non-vector searches)
|
* vector and non-vector searches)
|
||||||
*
|
*
|
||||||
* @note We currently don't support custom named indexes,
|
* We currently don't support custom named indexes.
|
||||||
* The index name will always be `${column}_idx`
|
* The index name will always be `${column}_idx`.
|
||||||
|
*
|
||||||
* @example
|
* @example
|
||||||
* // If the column has a vector (fixed size list) data type then
|
* // If the column has a vector (fixed size list) data type then
|
||||||
* // an IvfPq vector index will be created.
|
* // an IvfPq vector index will be created.
|
||||||
@@ -221,7 +221,7 @@ export abstract class Table {
|
|||||||
*
|
*
|
||||||
* @param name The name of the index.
|
* @param name The name of the index.
|
||||||
*
|
*
|
||||||
* @note This does not delete the index from disk, it just removes it from the table.
|
* This does not delete the index from disk, it just removes it from the table.
|
||||||
* To delete the index, run {@link Table#optimize} after dropping the index.
|
* To delete the index, run {@link Table#optimize} after dropping the index.
|
||||||
*
|
*
|
||||||
* Use {@link Table.listIndices} to find the names of the indices.
|
* Use {@link Table.listIndices} to find the names of the indices.
|
||||||
@@ -432,41 +432,6 @@ export abstract class Table {
|
|||||||
* Use {@link Table.listIndices} to find the names of the indices.
|
* Use {@link Table.listIndices} to find the names of the indices.
|
||||||
*/
|
*/
|
||||||
abstract indexStats(name: string): Promise<IndexStatistics | undefined>;
|
abstract indexStats(name: string): Promise<IndexStatistics | undefined>;
|
||||||
|
|
||||||
static async parseTableData(
|
|
||||||
data: Record<string, unknown>[] | TableLike,
|
|
||||||
options?: Partial<CreateTableOptions>,
|
|
||||||
streaming = false,
|
|
||||||
) {
|
|
||||||
let mode: string = options?.mode ?? "create";
|
|
||||||
const existOk = options?.existOk ?? false;
|
|
||||||
|
|
||||||
if (mode === "create" && existOk) {
|
|
||||||
mode = "exist_ok";
|
|
||||||
}
|
|
||||||
|
|
||||||
let table: ArrowTable;
|
|
||||||
if (isArrowTable(data)) {
|
|
||||||
table = sanitizeTable(data);
|
|
||||||
} else {
|
|
||||||
table = makeArrowTable(data as Record<string, unknown>[], options);
|
|
||||||
}
|
|
||||||
if (streaming) {
|
|
||||||
const buf = await fromTableToStreamBuffer(
|
|
||||||
table,
|
|
||||||
options?.embeddingFunction,
|
|
||||||
options?.schema,
|
|
||||||
);
|
|
||||||
return { buf, mode };
|
|
||||||
} else {
|
|
||||||
const buf = await fromTableToBuffer(
|
|
||||||
table,
|
|
||||||
options?.embeddingFunction,
|
|
||||||
options?.schema,
|
|
||||||
);
|
|
||||||
return { buf, mode };
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
||||||
export class LocalTable extends Table {
|
export class LocalTable extends Table {
|
||||||
|
|||||||
@@ -77,7 +77,7 @@
|
|||||||
"build": "npm run build:debug && tsc -b && shx cp lancedb/native.d.ts dist/native.d.ts && shx cp lancedb/*.node dist/",
|
"build": "npm run build:debug && tsc -b && shx cp lancedb/native.d.ts dist/native.d.ts && shx cp lancedb/*.node dist/",
|
||||||
"build-release": "npm run build:release && tsc -b && shx cp lancedb/native.d.ts dist/native.d.ts",
|
"build-release": "npm run build:release && tsc -b && shx cp lancedb/native.d.ts dist/native.d.ts",
|
||||||
"lint-ci": "biome ci .",
|
"lint-ci": "biome ci .",
|
||||||
"docs": "typedoc --plugin typedoc-plugin-markdown --out ../docs/src/js lancedb/index.ts",
|
"docs": "typedoc --plugin typedoc-plugin-markdown --treatWarningsAsErrors --out ../docs/src/js lancedb/index.ts",
|
||||||
"postdocs": "node typedoc_post_process.js",
|
"postdocs": "node typedoc_post_process.js",
|
||||||
"lint": "biome check . && biome format .",
|
"lint": "biome check . && biome format .",
|
||||||
"lint-fix": "biome check --write . && biome format --write .",
|
"lint-fix": "biome check --write . && biome format --write .",
|
||||||
|
|||||||
@@ -49,21 +49,6 @@ pub struct ConnectionOptions {
|
|||||||
pub host_override: Option<String>,
|
pub host_override: Option<String>,
|
||||||
}
|
}
|
||||||
|
|
||||||
/// Write mode for writing a table.
|
|
||||||
#[napi(string_enum)]
|
|
||||||
pub enum WriteMode {
|
|
||||||
Create,
|
|
||||||
Append,
|
|
||||||
Overwrite,
|
|
||||||
}
|
|
||||||
|
|
||||||
/// Write options when creating a Table.
|
|
||||||
#[napi(object)]
|
|
||||||
pub struct WriteOptions {
|
|
||||||
/// Write mode for writing to a table.
|
|
||||||
pub mode: Option<WriteMode>,
|
|
||||||
}
|
|
||||||
|
|
||||||
#[napi(object)]
|
#[napi(object)]
|
||||||
pub struct OpenTableOptions {
|
pub struct OpenTableOptions {
|
||||||
pub storage_options: Option<HashMap<String, String>>,
|
pub storage_options: Option<HashMap<String, String>>,
|
||||||
|
|||||||
@@ -1,11 +1,9 @@
|
|||||||
{
|
{
|
||||||
"intentionallyNotExported": [
|
"intentionallyNotExported": [
|
||||||
"lancedb/native.d.ts:Connection",
|
|
||||||
"lancedb/native.d.ts:Index",
|
|
||||||
"lancedb/native.d.ts:Query",
|
"lancedb/native.d.ts:Query",
|
||||||
"lancedb/native.d.ts:VectorQuery",
|
"lancedb/native.d.ts:VectorQuery",
|
||||||
"lancedb/native.d.ts:RecordBatchIterator",
|
"lancedb/native.d.ts:RecordBatchIterator",
|
||||||
"lancedb/native.d.ts:Table"
|
"lancedb/native.d.ts:NativeMergeInsertBuilder"
|
||||||
],
|
],
|
||||||
"useHTMLEncodedBrackets": true,
|
"useHTMLEncodedBrackets": true,
|
||||||
"useCodeBlocks": true,
|
"useCodeBlocks": true,
|
||||||
|
|||||||
@@ -40,7 +40,9 @@ function processDirectory(directoryPath) {
|
|||||||
function processContents(contents) {
|
function processContents(contents) {
|
||||||
// This changes the parameters section to put the parameter description on
|
// This changes the parameters section to put the parameter description on
|
||||||
// the same line as the bullet with the parameter name and type.
|
// the same line as the bullet with the parameter name and type.
|
||||||
return contents.replace(/(## Parameters[\s\S]*?)(?=##|$)/g, (match) => {
|
return (
|
||||||
|
contents
|
||||||
|
.replace(/(## Parameters[\s\S]*?)(?=##|$)/g, (match) => {
|
||||||
let lines = match
|
let lines = match
|
||||||
.split("\n")
|
.split("\n")
|
||||||
.map((line) => line.trim())
|
.map((line) => line.trim())
|
||||||
@@ -56,7 +58,10 @@ function processContents(contents) {
|
|||||||
}
|
}
|
||||||
});
|
});
|
||||||
return lines.join("\n") + "\n\n";
|
return lines.join("\n") + "\n\n";
|
||||||
});
|
})
|
||||||
|
// Also trim trailing whitespace
|
||||||
|
.replace(/([^ \t])[ \t]+\n/g, "$1\n")
|
||||||
|
);
|
||||||
}
|
}
|
||||||
|
|
||||||
// Start processing from the root directory
|
// Start processing from the root directory
|
||||||
|
|||||||
Reference in New Issue
Block a user