Compare commits

...

2 Commits

Author SHA1 Message Date
Will Jones
f2f0739f8c docs: enhance Update user guide 2023-12-20 15:13:59 -08:00
Will Jones
88ce1e574a docs: update node API reference 2023-12-20 15:13:37 -08:00
27 changed files with 1323 additions and 326 deletions

View File

@@ -1,5 +1,7 @@
<a href="https://colab.research.google.com/github/lancedb/lancedb/blob/main/docs/src/notebooks/tables_guide.ipynb"><img src="https://colab.research.google.com/assets/colab-badge.svg" alt="Open In Colab"></a><br/> <a href="https://colab.research.google.com/github/lancedb/lancedb/blob/main/docs/src/notebooks/tables_guide.ipynb"><img src="https://colab.research.google.com/assets/colab-badge.svg" alt="Open In Colab"></a><br/>
A Table is a collection of Records in a LanceDB Database. You can follow along on colab! A Table is a collection of Records in a LanceDB Database. Tables in Lance have a schema that defines the columns and their types. These schemas can include nested columns and can evolve over time.
This guide will show how to create tables, insert data into them, and update the data. You can follow along on colab!
## Creating a LanceDB Table ## Creating a LanceDB Table
@@ -361,19 +363,28 @@ Use the `delete()` method on tables to delete rows from a table. To choose which
await tbl.countRows() // Returns 1 await tbl.countRows() // Returns 1
``` ```
### Updating a Table [Experimental] ## Updating a Table
EXPERIMENTAL: Update rows in the table (not threadsafe).
This can be used to update zero to all rows depending on how many rows match the where clause. This can be used to update zero to all rows depending on how many rows match the where clause. The update queries follow the form of a SQL UPDATE statement. The `where` parameter is a SQL filter that matches on the metadata columns. The `values` or `values_sql` parameters are used to provide the new values for the columns.
| Parameter | Type | Description | | Parameter | Type | Description |
|---|---|---| |---|---|---|
| `where` | `str` | The SQL where clause to use when updating rows. For example, `'x = 2'` or `'x IN (1, 2, 3)'`. The filter must not be empty, or it will error. | | `where` | `str` | The SQL where clause to use when updating rows. For example, `'x = 2'` or `'x IN (1, 2, 3)'`. The filter must not be empty, or it will error. |
| `values` | `dict` | The values to update. The keys are the column names and the values are the values to set. | | `values` | `dict` | The values to update. The keys are the column names and the values are the values to set. |
| `values_sql` | `dict` | The values to update. The keys are the column names and the values are the SQL expressions to set. For example, `{'x': 'x + 1'}` will increment the value of the `x` column by 1. |
!!! info "SQL syntax"
See [SQL filters](sql.md) for more information on the supported SQL syntax.
!!! warning "Warning"
Updating nested columns is not yet supported.
=== "Python" === "Python"
API Reference: [lancedb.table.Table.update][]
```python ```python
import lancedb import lancedb
import pandas as pd import pandas as pd
@@ -403,6 +414,55 @@ This can be used to update zero to all rows depending on how many rows match the
2 2 [10.0, 10.0] 2 2 [10.0, 10.0]
``` ```
=== "Javascript/Typescript"
API Reference: [vectordb.Table.update](../../javascript/interfaces/Table/#update)
```javascript
const lancedb = require("vectordb");
const db = await lancedb.connect("./.lancedb");
const data = [
{x: 1, vector: [1, 2]},
{x: 2, vector: [3, 4]},
{x: 3, vector: [5, 6]},
];
const tbl = await db.createTable("my_table", data)
await tbl.update({ where: "x = 2", values: {vector: [10, 10]} })
```
The `values` parameter is used to provide the new values for the columns as literal values. You can also use the `values_sql` / `valuesSql` parameter to provide SQL expressions for the new values. For example, you can use `values_sql="x + 1"` to increment the value of the `x` column by 1.
=== "Python"
```python
# Update the table where x = 2
table.update(valuesSql={"x": "x + 1"})
print(table.to_pandas())
```
Output
```shell
x vector
0 2 [1.0, 2.0]
1 4 [5.0, 6.0]
2 3 [10.0, 10.0]
```
=== "Javascript/Typescript"
```javascript
await tbl.update({ valuesSql: { x: "x + 1" } })
```
!!! info "Note"
When rows are updated, they are moved out of the index. The row will still show up in ANN queries, but the query will not be as fast as it would be if the row was in the index. If you update a large proportion of rows, consider rebuilding the index afterwards.
## What's Next? ## What's Next?
Learn how to Query your tables and create indices Learn how to Query your tables and create indices

View File

@@ -12,7 +12,7 @@ npm install vectordb
This will download the appropriate native library for your platform. We currently This will download the appropriate native library for your platform. We currently
support x86_64 Linux, aarch64 Linux, Intel MacOS, and ARM (M1/M2) MacOS. We do not support x86_64 Linux, aarch64 Linux, Intel MacOS, and ARM (M1/M2) MacOS. We do not
yet support Windows or musl-based Linux (such as Alpine Linux). yet support musl-based Linux (such as Alpine Linux).
## Usage ## Usage

View File

@@ -0,0 +1,41 @@
[vectordb](../README.md) / [Exports](../modules.md) / DefaultWriteOptions
# Class: DefaultWriteOptions
Write options when creating a Table.
## Implements
- [`WriteOptions`](../interfaces/WriteOptions.md)
## Table of contents
### Constructors
- [constructor](DefaultWriteOptions.md#constructor)
### Properties
- [writeMode](DefaultWriteOptions.md#writemode)
## Constructors
### constructor
**new DefaultWriteOptions**()
## Properties
### writeMode
**writeMode**: [`WriteMode`](../enums/WriteMode.md) = `WriteMode.Create`
A [WriteMode](../enums/WriteMode.md) to use on this operation
#### Implementation of
[WriteOptions](../interfaces/WriteOptions.md).[writeMode](../interfaces/WriteOptions.md#writemode)
#### Defined in
[index.ts:778](https://github.com/lancedb/lancedb/blob/7856a94/node/src/index.ts#L778)

View File

@@ -26,7 +26,7 @@ A connection to a LanceDB database.
### Methods ### Methods
- [createTable](LocalConnection.md#createtable) - [createTable](LocalConnection.md#createtable)
- [createTableArrow](LocalConnection.md#createtablearrow) - [createTableImpl](LocalConnection.md#createtableimpl)
- [dropTable](LocalConnection.md#droptable) - [dropTable](LocalConnection.md#droptable)
- [openTable](LocalConnection.md#opentable) - [openTable](LocalConnection.md#opentable)
- [tableNames](LocalConnection.md#tablenames) - [tableNames](LocalConnection.md#tablenames)
@@ -46,7 +46,7 @@ A connection to a LanceDB database.
#### Defined in #### Defined in
[index.ts:184](https://github.com/lancedb/lancedb/blob/b1eeb90/node/src/index.ts#L184) [index.ts:355](https://github.com/lancedb/lancedb/blob/7856a94/node/src/index.ts#L355)
## Properties ## Properties
@@ -56,17 +56,25 @@ A connection to a LanceDB database.
#### Defined in #### Defined in
[index.ts:182](https://github.com/lancedb/lancedb/blob/b1eeb90/node/src/index.ts#L182) [index.ts:353](https://github.com/lancedb/lancedb/blob/7856a94/node/src/index.ts#L353)
___ ___
### \_options ### \_options
`Private` `Readonly` **\_options**: [`ConnectionOptions`](../interfaces/ConnectionOptions.md) `Private` `Readonly` **\_options**: () => [`ConnectionOptions`](../interfaces/ConnectionOptions.md)
#### Type declaration
▸ (): [`ConnectionOptions`](../interfaces/ConnectionOptions.md)
##### Returns
[`ConnectionOptions`](../interfaces/ConnectionOptions.md)
#### Defined in #### Defined in
[index.ts:181](https://github.com/lancedb/lancedb/blob/b1eeb90/node/src/index.ts#L181) [index.ts:352](https://github.com/lancedb/lancedb/blob/7856a94/node/src/index.ts#L352)
## Accessors ## Accessors
@@ -84,27 +92,34 @@ ___
#### Defined in #### Defined in
[index.ts:189](https://github.com/lancedb/lancedb/blob/b1eeb90/node/src/index.ts#L189) [index.ts:360](https://github.com/lancedb/lancedb/blob/7856a94/node/src/index.ts#L360)
## Methods ## Methods
### createTable ### createTable
**createTable**(`name`, `data`, `mode?`): `Promise`<[`Table`](../interfaces/Table.md)<`number`[]\>\> **createTable**\<`T`\>(`name`, `data?`, `optsOrEmbedding?`, `opt?`): `Promise`\<[`Table`](../interfaces/Table.md)\<`T`\>\>
Creates a new Table and initialize it with new data. Creates a new Table, optionally initializing it with new data.
#### Type parameters
| Name |
| :------ |
| `T` |
#### Parameters #### Parameters
| Name | Type | Description | | Name | Type |
| :------ | :------ | :------ | | :------ | :------ |
| `name` | `string` | The name of the table. | | `name` | `string` \| [`CreateTableOptions`](../interfaces/CreateTableOptions.md)\<`T`\> |
| `data` | `Record`<`string`, `unknown`\>[] | Non-empty Array of Records to be inserted into the Table | | `data?` | `Record`\<`string`, `unknown`\>[] |
| `mode?` | [`WriteMode`](../enums/WriteMode.md) | The write mode to use when creating the table. | | `optsOrEmbedding?` | [`WriteOptions`](../interfaces/WriteOptions.md) \| [`EmbeddingFunction`](../interfaces/EmbeddingFunction.md)\<`T`\> |
| `opt?` | [`WriteOptions`](../interfaces/WriteOptions.md) |
#### Returns #### Returns
`Promise`<[`Table`](../interfaces/Table.md)<`number`[]\>\> `Promise`\<[`Table`](../interfaces/Table.md)\<`T`\>\>
#### Implementation of #### Implementation of
@@ -112,120 +127,44 @@ Creates a new Table and initialize it with new data.
#### Defined in #### Defined in
[index.ts:230](https://github.com/lancedb/lancedb/blob/b1eeb90/node/src/index.ts#L230) [index.ts:395](https://github.com/lancedb/lancedb/blob/7856a94/node/src/index.ts#L395)
**createTable**(`name`, `data`, `mode`): `Promise`<[`Table`](../interfaces/Table.md)<`number`[]\>\>
#### Parameters
| Name | Type |
| :------ | :------ |
| `name` | `string` |
| `data` | `Record`<`string`, `unknown`\>[] |
| `mode` | [`WriteMode`](../enums/WriteMode.md) |
#### Returns
`Promise`<[`Table`](../interfaces/Table.md)<`number`[]\>\>
#### Implementation of
Connection.createTable
#### Defined in
[index.ts:231](https://github.com/lancedb/lancedb/blob/b1eeb90/node/src/index.ts#L231)
**createTable**<`T`\>(`name`, `data`, `mode`, `embeddings`): `Promise`<[`Table`](../interfaces/Table.md)<`T`\>\>
Creates a new Table and initialize it with new data.
#### Type parameters
| Name |
| :------ |
| `T` |
#### Parameters
| Name | Type | Description |
| :------ | :------ | :------ |
| `name` | `string` | The name of the table. |
| `data` | `Record`<`string`, `unknown`\>[] | Non-empty Array of Records to be inserted into the Table |
| `mode` | [`WriteMode`](../enums/WriteMode.md) | The write mode to use when creating the table. |
| `embeddings` | [`EmbeddingFunction`](../interfaces/EmbeddingFunction.md)<`T`\> | An embedding function to use on this Table |
#### Returns
`Promise`<[`Table`](../interfaces/Table.md)<`T`\>\>
#### Implementation of
Connection.createTable
#### Defined in
[index.ts:241](https://github.com/lancedb/lancedb/blob/b1eeb90/node/src/index.ts#L241)
**createTable**<`T`\>(`name`, `data`, `mode`, `embeddings?`): `Promise`<[`Table`](../interfaces/Table.md)<`T`\>\>
#### Type parameters
| Name |
| :------ |
| `T` |
#### Parameters
| Name | Type |
| :------ | :------ |
| `name` | `string` |
| `data` | `Record`<`string`, `unknown`\>[] |
| `mode` | [`WriteMode`](../enums/WriteMode.md) |
| `embeddings?` | [`EmbeddingFunction`](../interfaces/EmbeddingFunction.md)<`T`\> |
#### Returns
`Promise`<[`Table`](../interfaces/Table.md)<`T`\>\>
#### Implementation of
Connection.createTable
#### Defined in
[index.ts:242](https://github.com/lancedb/lancedb/blob/b1eeb90/node/src/index.ts#L242)
___ ___
### createTableArrow ### createTableImpl
**createTableArrow**(`name`, `table`): `Promise`<[`Table`](../interfaces/Table.md)<`number`[]\>\> `Private` **createTableImpl**\<`T`\>(`«destructured»`): `Promise`\<[`Table`](../interfaces/Table.md)\<`T`\>\>
#### Type parameters
| Name |
| :------ |
| `T` |
#### Parameters #### Parameters
| Name | Type | | Name | Type |
| :------ | :------ | | :------ | :------ |
| `name` | `string` | | `«destructured»` | `Object` |
| `table` | `Table`<`any`\> | |  `data?` | `Table`\<`any`\> \| `Record`\<`string`, `unknown`\>[] |
|  `embeddingFunction?` | [`EmbeddingFunction`](../interfaces/EmbeddingFunction.md)\<`T`\> |
|  `name` | `string` |
|  `schema?` | `Schema`\<`any`\> |
|  `writeOptions?` | [`WriteOptions`](../interfaces/WriteOptions.md) |
#### Returns #### Returns
`Promise`<[`Table`](../interfaces/Table.md)<`number`[]\>\> `Promise`\<[`Table`](../interfaces/Table.md)\<`T`\>\>
#### Implementation of
[Connection](../interfaces/Connection.md).[createTableArrow](../interfaces/Connection.md#createtablearrow)
#### Defined in #### Defined in
[index.ts:266](https://github.com/lancedb/lancedb/blob/b1eeb90/node/src/index.ts#L266) [index.ts:413](https://github.com/lancedb/lancedb/blob/7856a94/node/src/index.ts#L413)
___ ___
### dropTable ### dropTable
**dropTable**(`name`): `Promise`<`void`\> **dropTable**(`name`): `Promise`\<`void`\>
Drop an existing table. Drop an existing table.
@@ -237,7 +176,7 @@ Drop an existing table.
#### Returns #### Returns
`Promise`<`void`\> `Promise`\<`void`\>
#### Implementation of #### Implementation of
@@ -245,13 +184,13 @@ Drop an existing table.
#### Defined in #### Defined in
[index.ts:276](https://github.com/lancedb/lancedb/blob/b1eeb90/node/src/index.ts#L276) [index.ts:453](https://github.com/lancedb/lancedb/blob/7856a94/node/src/index.ts#L453)
___ ___
### openTable ### openTable
**openTable**(`name`): `Promise`<[`Table`](../interfaces/Table.md)<`number`[]\>\> **openTable**(`name`): `Promise`\<[`Table`](../interfaces/Table.md)\<`number`[]\>\>
Open a table in the database. Open a table in the database.
@@ -263,7 +202,7 @@ Open a table in the database.
#### Returns #### Returns
`Promise`<[`Table`](../interfaces/Table.md)<`number`[]\>\> `Promise`\<[`Table`](../interfaces/Table.md)\<`number`[]\>\>
#### Implementation of #### Implementation of
@@ -271,9 +210,9 @@ Open a table in the database.
#### Defined in #### Defined in
[index.ts:205](https://github.com/lancedb/lancedb/blob/b1eeb90/node/src/index.ts#L205) [index.ts:376](https://github.com/lancedb/lancedb/blob/7856a94/node/src/index.ts#L376)
**openTable**<`T`\>(`name`, `embeddings`): `Promise`<[`Table`](../interfaces/Table.md)<`T`\>\> **openTable**\<`T`\>(`name`, `embeddings`): `Promise`\<[`Table`](../interfaces/Table.md)\<`T`\>\>
Open a table in the database. Open a table in the database.
@@ -288,11 +227,11 @@ Open a table in the database.
| Name | Type | Description | | Name | Type | Description |
| :------ | :------ | :------ | | :------ | :------ | :------ |
| `name` | `string` | The name of the table. | | `name` | `string` | The name of the table. |
| `embeddings` | [`EmbeddingFunction`](../interfaces/EmbeddingFunction.md)<`T`\> | An embedding function to use on this Table | | `embeddings` | [`EmbeddingFunction`](../interfaces/EmbeddingFunction.md)\<`T`\> | An embedding function to use on this Table |
#### Returns #### Returns
`Promise`<[`Table`](../interfaces/Table.md)<`T`\>\> `Promise`\<[`Table`](../interfaces/Table.md)\<`T`\>\>
#### Implementation of #### Implementation of
@@ -300,9 +239,9 @@ Connection.openTable
#### Defined in #### Defined in
[index.ts:212](https://github.com/lancedb/lancedb/blob/b1eeb90/node/src/index.ts#L212) [index.ts:384](https://github.com/lancedb/lancedb/blob/7856a94/node/src/index.ts#L384)
**openTable**<`T`\>(`name`, `embeddings?`): `Promise`<[`Table`](../interfaces/Table.md)<`T`\>\> **openTable**\<`T`\>(`name`, `embeddings?`): `Promise`\<[`Table`](../interfaces/Table.md)\<`T`\>\>
#### Type parameters #### Type parameters
@@ -315,11 +254,11 @@ Connection.openTable
| Name | Type | | Name | Type |
| :------ | :------ | | :------ | :------ |
| `name` | `string` | | `name` | `string` |
| `embeddings?` | [`EmbeddingFunction`](../interfaces/EmbeddingFunction.md)<`T`\> | | `embeddings?` | [`EmbeddingFunction`](../interfaces/EmbeddingFunction.md)\<`T`\> |
#### Returns #### Returns
`Promise`<[`Table`](../interfaces/Table.md)<`T`\>\> `Promise`\<[`Table`](../interfaces/Table.md)\<`T`\>\>
#### Implementation of #### Implementation of
@@ -327,19 +266,19 @@ Connection.openTable
#### Defined in #### Defined in
[index.ts:213](https://github.com/lancedb/lancedb/blob/b1eeb90/node/src/index.ts#L213) [index.ts:385](https://github.com/lancedb/lancedb/blob/7856a94/node/src/index.ts#L385)
___ ___
### tableNames ### tableNames
**tableNames**(): `Promise`<`string`[]\> **tableNames**(): `Promise`\<`string`[]\>
Get the names of all tables in the database. Get the names of all tables in the database.
#### Returns #### Returns
`Promise`<`string`[]\> `Promise`\<`string`[]\>
#### Implementation of #### Implementation of
@@ -347,4 +286,4 @@ Get the names of all tables in the database.
#### Defined in #### Defined in
[index.ts:196](https://github.com/lancedb/lancedb/blob/b1eeb90/node/src/index.ts#L196) [index.ts:367](https://github.com/lancedb/lancedb/blob/7856a94/node/src/index.ts#L367)

View File

@@ -1,6 +1,6 @@
[vectordb](../README.md) / [Exports](../modules.md) / LocalTable [vectordb](../README.md) / [Exports](../modules.md) / LocalTable
# Class: LocalTable<T\> # Class: LocalTable\<T\>
A LanceDB Table is the collection of Records. Each Record has one or more vector fields. A LanceDB Table is the collection of Records. Each Record has one or more vector fields.
@@ -12,7 +12,7 @@ A LanceDB Table is the collection of Records. Each Record has one or more vector
## Implements ## Implements
- [`Table`](../interfaces/Table.md)<`T`\> - [`Table`](../interfaces/Table.md)\<`T`\>
## Table of contents ## Table of contents
@@ -26,6 +26,7 @@ A LanceDB Table is the collection of Records. Each Record has one or more vector
- [\_name](LocalTable.md#_name) - [\_name](LocalTable.md#_name)
- [\_options](LocalTable.md#_options) - [\_options](LocalTable.md#_options)
- [\_tbl](LocalTable.md#_tbl) - [\_tbl](LocalTable.md#_tbl)
- [where](LocalTable.md#where)
### Accessors ### Accessors
@@ -34,17 +35,23 @@ A LanceDB Table is the collection of Records. Each Record has one or more vector
### Methods ### Methods
- [add](LocalTable.md#add) - [add](LocalTable.md#add)
- [cleanupOldVersions](LocalTable.md#cleanupoldversions)
- [compactFiles](LocalTable.md#compactfiles)
- [countRows](LocalTable.md#countrows) - [countRows](LocalTable.md#countrows)
- [createIndex](LocalTable.md#createindex) - [createIndex](LocalTable.md#createindex)
- [delete](LocalTable.md#delete) - [delete](LocalTable.md#delete)
- [filter](LocalTable.md#filter)
- [indexStats](LocalTable.md#indexstats)
- [listIndices](LocalTable.md#listindices)
- [overwrite](LocalTable.md#overwrite) - [overwrite](LocalTable.md#overwrite)
- [search](LocalTable.md#search) - [search](LocalTable.md#search)
- [update](LocalTable.md#update)
## Constructors ## Constructors
### constructor ### constructor
**new LocalTable**<`T`\>(`tbl`, `name`, `options`) **new LocalTable**\<`T`\>(`tbl`, `name`, `options`)
#### Type parameters #### Type parameters
@@ -62,9 +69,9 @@ A LanceDB Table is the collection of Records. Each Record has one or more vector
#### Defined in #### Defined in
[index.ts:287](https://github.com/lancedb/lancedb/blob/b1eeb90/node/src/index.ts#L287) [index.ts:464](https://github.com/lancedb/lancedb/blob/7856a94/node/src/index.ts#L464)
**new LocalTable**<`T`\>(`tbl`, `name`, `options`, `embeddings`) **new LocalTable**\<`T`\>(`tbl`, `name`, `options`, `embeddings`)
#### Type parameters #### Type parameters
@@ -79,21 +86,21 @@ A LanceDB Table is the collection of Records. Each Record has one or more vector
| `tbl` | `any` | | | `tbl` | `any` | |
| `name` | `string` | | | `name` | `string` | |
| `options` | [`ConnectionOptions`](../interfaces/ConnectionOptions.md) | | | `options` | [`ConnectionOptions`](../interfaces/ConnectionOptions.md) | |
| `embeddings` | [`EmbeddingFunction`](../interfaces/EmbeddingFunction.md)<`T`\> | An embedding function to use when interacting with this table | | `embeddings` | [`EmbeddingFunction`](../interfaces/EmbeddingFunction.md)\<`T`\> | An embedding function to use when interacting with this table |
#### Defined in #### Defined in
[index.ts:294](https://github.com/lancedb/lancedb/blob/b1eeb90/node/src/index.ts#L294) [index.ts:471](https://github.com/lancedb/lancedb/blob/7856a94/node/src/index.ts#L471)
## Properties ## Properties
### \_embeddings ### \_embeddings
`Private` `Optional` `Readonly` **\_embeddings**: [`EmbeddingFunction`](../interfaces/EmbeddingFunction.md)<`T`\> `Private` `Optional` `Readonly` **\_embeddings**: [`EmbeddingFunction`](../interfaces/EmbeddingFunction.md)\<`T`\>
#### Defined in #### Defined in
[index.ts:284](https://github.com/lancedb/lancedb/blob/b1eeb90/node/src/index.ts#L284) [index.ts:461](https://github.com/lancedb/lancedb/blob/7856a94/node/src/index.ts#L461)
___ ___
@@ -103,27 +110,61 @@ ___
#### Defined in #### Defined in
[index.ts:283](https://github.com/lancedb/lancedb/blob/b1eeb90/node/src/index.ts#L283) [index.ts:460](https://github.com/lancedb/lancedb/blob/7856a94/node/src/index.ts#L460)
___ ___
### \_options ### \_options
`Private` `Readonly` **\_options**: [`ConnectionOptions`](../interfaces/ConnectionOptions.md) `Private` `Readonly` **\_options**: () => [`ConnectionOptions`](../interfaces/ConnectionOptions.md)
#### Type declaration
▸ (): [`ConnectionOptions`](../interfaces/ConnectionOptions.md)
##### Returns
[`ConnectionOptions`](../interfaces/ConnectionOptions.md)
#### Defined in #### Defined in
[index.ts:285](https://github.com/lancedb/lancedb/blob/b1eeb90/node/src/index.ts#L285) [index.ts:462](https://github.com/lancedb/lancedb/blob/7856a94/node/src/index.ts#L462)
___ ___
### \_tbl ### \_tbl
`Private` `Readonly` **\_tbl**: `any` `Private` **\_tbl**: `any`
#### Defined in #### Defined in
[index.ts:282](https://github.com/lancedb/lancedb/blob/b1eeb90/node/src/index.ts#L282) [index.ts:459](https://github.com/lancedb/lancedb/blob/7856a94/node/src/index.ts#L459)
___
### where
**where**: (`value`: `string`) => [`Query`](Query.md)\<`T`\>
#### Type declaration
▸ (`value`): [`Query`](Query.md)\<`T`\>
Creates a filter query to find all rows matching the specified criteria
##### Parameters
| Name | Type | Description |
| :------ | :------ | :------ |
| `value` | `string` | The filter criteria (like SQL where clause syntax) |
##### Returns
[`Query`](Query.md)\<`T`\>
#### Defined in
[index.ts:499](https://github.com/lancedb/lancedb/blob/7856a94/node/src/index.ts#L499)
## Accessors ## Accessors
@@ -141,13 +182,13 @@ ___
#### Defined in #### Defined in
[index.ts:302](https://github.com/lancedb/lancedb/blob/b1eeb90/node/src/index.ts#L302) [index.ts:479](https://github.com/lancedb/lancedb/blob/7856a94/node/src/index.ts#L479)
## Methods ## Methods
### add ### add
**add**(`data`): `Promise`<`number`\> **add**(`data`): `Promise`\<`number`\>
Insert records into this Table. Insert records into this Table.
@@ -155,11 +196,11 @@ Insert records into this Table.
| Name | Type | Description | | Name | Type | Description |
| :------ | :------ | :------ | | :------ | :------ | :------ |
| `data` | `Record`<`string`, `unknown`\>[] | Records to be inserted into the Table | | `data` | `Record`\<`string`, `unknown`\>[] | Records to be inserted into the Table |
#### Returns #### Returns
`Promise`<`number`\> `Promise`\<`number`\>
The number of rows added to the table The number of rows added to the table
@@ -169,19 +210,69 @@ The number of rows added to the table
#### Defined in #### Defined in
[index.ts:320](https://github.com/lancedb/lancedb/blob/b1eeb90/node/src/index.ts#L320) [index.ts:507](https://github.com/lancedb/lancedb/blob/7856a94/node/src/index.ts#L507)
___
### cleanupOldVersions
**cleanupOldVersions**(`olderThan?`, `deleteUnverified?`): `Promise`\<[`CleanupStats`](../interfaces/CleanupStats.md)\>
Clean up old versions of the table, freeing disk space.
#### Parameters
| Name | Type | Description |
| :------ | :------ | :------ |
| `olderThan?` | `number` | The minimum age in minutes of the versions to delete. If not provided, defaults to two weeks. |
| `deleteUnverified?` | `boolean` | Because they may be part of an in-progress transaction, uncommitted files newer than 7 days old are not deleted by default. This means that failed transactions can leave around data that takes up disk space for up to 7 days. You can override this safety mechanism by setting this option to `true`, only if you promise there are no in progress writes while you run this operation. Failure to uphold this promise can lead to corrupted tables. |
#### Returns
`Promise`\<[`CleanupStats`](../interfaces/CleanupStats.md)\>
#### Defined in
[index.ts:596](https://github.com/lancedb/lancedb/blob/7856a94/node/src/index.ts#L596)
___
### compactFiles
**compactFiles**(`options?`): `Promise`\<[`CompactionMetrics`](../interfaces/CompactionMetrics.md)\>
Run the compaction process on the table.
This can be run after making several small appends to optimize the table
for faster reads.
#### Parameters
| Name | Type | Description |
| :------ | :------ | :------ |
| `options?` | [`CompactionOptions`](../interfaces/CompactionOptions.md) | Advanced options configuring compaction. In most cases, you can omit this arguments, as the default options are sensible for most tables. |
#### Returns
`Promise`\<[`CompactionMetrics`](../interfaces/CompactionMetrics.md)\>
Metrics about the compaction operation.
#### Defined in
[index.ts:615](https://github.com/lancedb/lancedb/blob/7856a94/node/src/index.ts#L615)
___ ___
### countRows ### countRows
**countRows**(): `Promise`<`number`\> **countRows**(): `Promise`\<`number`\>
Returns the number of rows in this table. Returns the number of rows in this table.
#### Returns #### Returns
`Promise`<`number`\> `Promise`\<`number`\>
#### Implementation of #### Implementation of
@@ -189,20 +280,16 @@ Returns the number of rows in this table.
#### Defined in #### Defined in
[index.ts:362](https://github.com/lancedb/lancedb/blob/b1eeb90/node/src/index.ts#L362) [index.ts:543](https://github.com/lancedb/lancedb/blob/7856a94/node/src/index.ts#L543)
___ ___
### createIndex ### createIndex
**createIndex**(`indexParams`): `Promise`<`any`\> **createIndex**(`indexParams`): `Promise`\<`any`\>
Create an ANN index on this Table vector index. Create an ANN index on this Table vector index.
**`See`**
VectorIndexParams.
#### Parameters #### Parameters
| Name | Type | Description | | Name | Type | Description |
@@ -211,7 +298,11 @@ VectorIndexParams.
#### Returns #### Returns
`Promise`<`any`\> `Promise`\<`any`\>
**`See`**
VectorIndexParams.
#### Implementation of #### Implementation of
@@ -219,13 +310,13 @@ VectorIndexParams.
#### Defined in #### Defined in
[index.ts:355](https://github.com/lancedb/lancedb/blob/b1eeb90/node/src/index.ts#L355) [index.ts:536](https://github.com/lancedb/lancedb/blob/7856a94/node/src/index.ts#L536)
___ ___
### delete ### delete
**delete**(`filter`): `Promise`<`void`\> **delete**(`filter`): `Promise`\<`void`\>
Delete rows from this table. Delete rows from this table.
@@ -237,7 +328,7 @@ Delete rows from this table.
#### Returns #### Returns
`Promise`<`void`\> `Promise`\<`void`\>
#### Implementation of #### Implementation of
@@ -245,13 +336,81 @@ Delete rows from this table.
#### Defined in #### Defined in
[index.ts:371](https://github.com/lancedb/lancedb/blob/b1eeb90/node/src/index.ts#L371) [index.ts:552](https://github.com/lancedb/lancedb/blob/7856a94/node/src/index.ts#L552)
___
### filter
**filter**(`value`): [`Query`](Query.md)\<`T`\>
Creates a filter query to find all rows matching the specified criteria
#### Parameters
| Name | Type | Description |
| :------ | :------ | :------ |
| `value` | `string` | The filter criteria (like SQL where clause syntax) |
#### Returns
[`Query`](Query.md)\<`T`\>
#### Defined in
[index.ts:495](https://github.com/lancedb/lancedb/blob/7856a94/node/src/index.ts#L495)
___
### indexStats
**indexStats**(`indexUuid`): `Promise`\<[`IndexStats`](../interfaces/IndexStats.md)\>
Get statistics about an index.
#### Parameters
| Name | Type |
| :------ | :------ |
| `indexUuid` | `string` |
#### Returns
`Promise`\<[`IndexStats`](../interfaces/IndexStats.md)\>
#### Implementation of
[Table](../interfaces/Table.md).[indexStats](../interfaces/Table.md#indexstats)
#### Defined in
[index.ts:628](https://github.com/lancedb/lancedb/blob/7856a94/node/src/index.ts#L628)
___
### listIndices
**listIndices**(): `Promise`\<[`VectorIndex`](../interfaces/VectorIndex.md)[]\>
List the indicies on this table.
#### Returns
`Promise`\<[`VectorIndex`](../interfaces/VectorIndex.md)[]\>
#### Implementation of
[Table](../interfaces/Table.md).[listIndices](../interfaces/Table.md#listindices)
#### Defined in
[index.ts:624](https://github.com/lancedb/lancedb/blob/7856a94/node/src/index.ts#L624)
___ ___
### overwrite ### overwrite
**overwrite**(`data`): `Promise`<`number`\> **overwrite**(`data`): `Promise`\<`number`\>
Insert records into this Table, replacing its contents. Insert records into this Table, replacing its contents.
@@ -259,11 +418,11 @@ Insert records into this Table, replacing its contents.
| Name | Type | Description | | Name | Type | Description |
| :------ | :------ | :------ | | :------ | :------ | :------ |
| `data` | `Record`<`string`, `unknown`\>[] | Records to be inserted into the Table | | `data` | `Record`\<`string`, `unknown`\>[] | Records to be inserted into the Table |
#### Returns #### Returns
`Promise`<`number`\> `Promise`\<`number`\>
The number of rows added to the table The number of rows added to the table
@@ -273,13 +432,13 @@ The number of rows added to the table
#### Defined in #### Defined in
[index.ts:338](https://github.com/lancedb/lancedb/blob/b1eeb90/node/src/index.ts#L338) [index.ts:522](https://github.com/lancedb/lancedb/blob/7856a94/node/src/index.ts#L522)
___ ___
### search ### search
**search**(`query`): [`Query`](Query.md)<`T`\> **search**(`query`): [`Query`](Query.md)\<`T`\>
Creates a search query to find the nearest neighbors of the given search term Creates a search query to find the nearest neighbors of the given search term
@@ -291,7 +450,7 @@ Creates a search query to find the nearest neighbors of the given search term
#### Returns #### Returns
[`Query`](Query.md)<`T`\> [`Query`](Query.md)\<`T`\>
#### Implementation of #### Implementation of
@@ -299,4 +458,30 @@ Creates a search query to find the nearest neighbors of the given search term
#### Defined in #### Defined in
[index.ts:310](https://github.com/lancedb/lancedb/blob/b1eeb90/node/src/index.ts#L310) [index.ts:487](https://github.com/lancedb/lancedb/blob/7856a94/node/src/index.ts#L487)
___
### update
**update**(`args`): `Promise`\<`void`\>
Update rows in this table.
#### Parameters
| Name | Type | Description |
| :------ | :------ | :------ |
| `args` | [`UpdateArgs`](../interfaces/UpdateArgs.md) \| [`UpdateSqlArgs`](../interfaces/UpdateSqlArgs.md) | see [UpdateArgs](../interfaces/UpdateArgs.md) and [UpdateSqlArgs](../interfaces/UpdateSqlArgs.md) for more details |
#### Returns
`Promise`\<`void`\>
#### Implementation of
[Table](../interfaces/Table.md).[update](../interfaces/Table.md#update)
#### Defined in
[index.ts:563](https://github.com/lancedb/lancedb/blob/7856a94/node/src/index.ts#L563)

View File

@@ -6,7 +6,7 @@ An embedding function that automatically creates vector representation for a giv
## Implements ## Implements
- [`EmbeddingFunction`](../interfaces/EmbeddingFunction.md)<`string`\> - [`EmbeddingFunction`](../interfaces/EmbeddingFunction.md)\<`string`\>
## Table of contents ## Table of contents
@@ -40,7 +40,7 @@ An embedding function that automatically creates vector representation for a giv
#### Defined in #### Defined in
[embedding/openai.ts:21](https://github.com/lancedb/lancedb/blob/b1eeb90/node/src/embedding/openai.ts#L21) [embedding/openai.ts:21](https://github.com/lancedb/lancedb/blob/7856a94/node/src/embedding/openai.ts#L21)
## Properties ## Properties
@@ -50,7 +50,7 @@ An embedding function that automatically creates vector representation for a giv
#### Defined in #### Defined in
[embedding/openai.ts:19](https://github.com/lancedb/lancedb/blob/b1eeb90/node/src/embedding/openai.ts#L19) [embedding/openai.ts:19](https://github.com/lancedb/lancedb/blob/7856a94/node/src/embedding/openai.ts#L19)
___ ___
@@ -60,7 +60,7 @@ ___
#### Defined in #### Defined in
[embedding/openai.ts:18](https://github.com/lancedb/lancedb/blob/b1eeb90/node/src/embedding/openai.ts#L18) [embedding/openai.ts:18](https://github.com/lancedb/lancedb/blob/7856a94/node/src/embedding/openai.ts#L18)
___ ___
@@ -76,13 +76,13 @@ The name of the column that will be used as input for the Embedding Function.
#### Defined in #### Defined in
[embedding/openai.ts:50](https://github.com/lancedb/lancedb/blob/b1eeb90/node/src/embedding/openai.ts#L50) [embedding/openai.ts:50](https://github.com/lancedb/lancedb/blob/7856a94/node/src/embedding/openai.ts#L50)
## Methods ## Methods
### embed ### embed
**embed**(`data`): `Promise`<`number`[][]\> **embed**(`data`): `Promise`\<`number`[][]\>
Creates a vector representation for the given values. Creates a vector representation for the given values.
@@ -94,7 +94,7 @@ Creates a vector representation for the given values.
#### Returns #### Returns
`Promise`<`number`[][]\> `Promise`\<`number`[][]\>
#### Implementation of #### Implementation of
@@ -102,4 +102,4 @@ Creates a vector representation for the given values.
#### Defined in #### Defined in
[embedding/openai.ts:38](https://github.com/lancedb/lancedb/blob/b1eeb90/node/src/embedding/openai.ts#L38) [embedding/openai.ts:38](https://github.com/lancedb/lancedb/blob/7856a94/node/src/embedding/openai.ts#L38)

View File

@@ -1,6 +1,6 @@
[vectordb](../README.md) / [Exports](../modules.md) / Query [vectordb](../README.md) / [Exports](../modules.md) / Query
# Class: Query<T\> # Class: Query\<T\>
A builder for nearest neighbor queries for LanceDB. A builder for nearest neighbor queries for LanceDB.
@@ -23,6 +23,7 @@ A builder for nearest neighbor queries for LanceDB.
- [\_limit](Query.md#_limit) - [\_limit](Query.md#_limit)
- [\_metricType](Query.md#_metrictype) - [\_metricType](Query.md#_metrictype)
- [\_nprobes](Query.md#_nprobes) - [\_nprobes](Query.md#_nprobes)
- [\_prefilter](Query.md#_prefilter)
- [\_query](Query.md#_query) - [\_query](Query.md#_query)
- [\_queryVector](Query.md#_queryvector) - [\_queryVector](Query.md#_queryvector)
- [\_refineFactor](Query.md#_refinefactor) - [\_refineFactor](Query.md#_refinefactor)
@@ -34,9 +35,11 @@ A builder for nearest neighbor queries for LanceDB.
- [execute](Query.md#execute) - [execute](Query.md#execute)
- [filter](Query.md#filter) - [filter](Query.md#filter)
- [isElectron](Query.md#iselectron)
- [limit](Query.md#limit) - [limit](Query.md#limit)
- [metricType](Query.md#metrictype) - [metricType](Query.md#metrictype)
- [nprobes](Query.md#nprobes) - [nprobes](Query.md#nprobes)
- [prefilter](Query.md#prefilter)
- [refineFactor](Query.md#refinefactor) - [refineFactor](Query.md#refinefactor)
- [select](Query.md#select) - [select](Query.md#select)
@@ -44,7 +47,7 @@ A builder for nearest neighbor queries for LanceDB.
### constructor ### constructor
**new Query**<`T`\>(`tbl`, `query`, `embeddings?`) **new Query**\<`T`\>(`query?`, `tbl?`, `embeddings?`)
#### Type parameters #### Type parameters
@@ -56,23 +59,23 @@ A builder for nearest neighbor queries for LanceDB.
| Name | Type | | Name | Type |
| :------ | :------ | | :------ | :------ |
| `tbl` | `any` | | `query?` | `T` |
| `query` | `T` | | `tbl?` | `any` |
| `embeddings?` | [`EmbeddingFunction`](../interfaces/EmbeddingFunction.md)<`T`\> | | `embeddings?` | [`EmbeddingFunction`](../interfaces/EmbeddingFunction.md)\<`T`\> |
#### Defined in #### Defined in
[index.ts:448](https://github.com/lancedb/lancedb/blob/b1eeb90/node/src/index.ts#L448) [query.ts:38](https://github.com/lancedb/lancedb/blob/7856a94/node/src/query.ts#L38)
## Properties ## Properties
### \_embeddings ### \_embeddings
`Private` `Optional` `Readonly` **\_embeddings**: [`EmbeddingFunction`](../interfaces/EmbeddingFunction.md)<`T`\> `Protected` `Optional` `Readonly` **\_embeddings**: [`EmbeddingFunction`](../interfaces/EmbeddingFunction.md)\<`T`\>
#### Defined in #### Defined in
[index.ts:446](https://github.com/lancedb/lancedb/blob/b1eeb90/node/src/index.ts#L446) [query.ts:36](https://github.com/lancedb/lancedb/blob/7856a94/node/src/query.ts#L36)
___ ___
@@ -82,17 +85,17 @@ ___
#### Defined in #### Defined in
[index.ts:444](https://github.com/lancedb/lancedb/blob/b1eeb90/node/src/index.ts#L444) [query.ts:33](https://github.com/lancedb/lancedb/blob/7856a94/node/src/query.ts#L33)
___ ___
### \_limit ### \_limit
`Private` **\_limit**: `number` `Private` `Optional` **\_limit**: `number`
#### Defined in #### Defined in
[index.ts:440](https://github.com/lancedb/lancedb/blob/b1eeb90/node/src/index.ts#L440) [query.ts:29](https://github.com/lancedb/lancedb/blob/7856a94/node/src/query.ts#L29)
___ ___
@@ -102,7 +105,7 @@ ___
#### Defined in #### Defined in
[index.ts:445](https://github.com/lancedb/lancedb/blob/b1eeb90/node/src/index.ts#L445) [query.ts:34](https://github.com/lancedb/lancedb/blob/7856a94/node/src/query.ts#L34)
___ ___
@@ -112,17 +115,27 @@ ___
#### Defined in #### Defined in
[index.ts:442](https://github.com/lancedb/lancedb/blob/b1eeb90/node/src/index.ts#L442) [query.ts:31](https://github.com/lancedb/lancedb/blob/7856a94/node/src/query.ts#L31)
___
### \_prefilter
`Private` **\_prefilter**: `boolean`
#### Defined in
[query.ts:35](https://github.com/lancedb/lancedb/blob/7856a94/node/src/query.ts#L35)
___ ___
### \_query ### \_query
`Private` `Readonly` **\_query**: `T` `Private` `Optional` `Readonly` **\_query**: `T`
#### Defined in #### Defined in
[index.ts:438](https://github.com/lancedb/lancedb/blob/b1eeb90/node/src/index.ts#L438) [query.ts:26](https://github.com/lancedb/lancedb/blob/7856a94/node/src/query.ts#L26)
___ ___
@@ -132,7 +145,7 @@ ___
#### Defined in #### Defined in
[index.ts:439](https://github.com/lancedb/lancedb/blob/b1eeb90/node/src/index.ts#L439) [query.ts:28](https://github.com/lancedb/lancedb/blob/7856a94/node/src/query.ts#L28)
___ ___
@@ -142,7 +155,7 @@ ___
#### Defined in #### Defined in
[index.ts:441](https://github.com/lancedb/lancedb/blob/b1eeb90/node/src/index.ts#L441) [query.ts:30](https://github.com/lancedb/lancedb/blob/7856a94/node/src/query.ts#L30)
___ ___
@@ -152,27 +165,27 @@ ___
#### Defined in #### Defined in
[index.ts:443](https://github.com/lancedb/lancedb/blob/b1eeb90/node/src/index.ts#L443) [query.ts:32](https://github.com/lancedb/lancedb/blob/7856a94/node/src/query.ts#L32)
___ ___
### \_tbl ### \_tbl
`Private` `Readonly` **\_tbl**: `any` `Private` `Optional` `Readonly` **\_tbl**: `any`
#### Defined in #### Defined in
[index.ts:437](https://github.com/lancedb/lancedb/blob/b1eeb90/node/src/index.ts#L437) [query.ts:27](https://github.com/lancedb/lancedb/blob/7856a94/node/src/query.ts#L27)
___ ___
### where ### where
**where**: (`value`: `string`) => [`Query`](Query.md)<`T`\> **where**: (`value`: `string`) => [`Query`](Query.md)\<`T`\>
#### Type declaration #### Type declaration
▸ (`value`): [`Query`](Query.md)<`T`\> ▸ (`value`): [`Query`](Query.md)\<`T`\>
A filter statement to be applied to this query. A filter statement to be applied to this query.
@@ -184,17 +197,17 @@ A filter statement to be applied to this query.
##### Returns ##### Returns
[`Query`](Query.md)<`T`\> [`Query`](Query.md)\<`T`\>
#### Defined in #### Defined in
[index.ts:496](https://github.com/lancedb/lancedb/blob/b1eeb90/node/src/index.ts#L496) [query.ts:87](https://github.com/lancedb/lancedb/blob/7856a94/node/src/query.ts#L87)
## Methods ## Methods
### execute ### execute
**execute**<`T`\>(): `Promise`<`T`[]\> **execute**\<`T`\>(): `Promise`\<`T`[]\>
Execute the query and return the results as an Array of Objects Execute the query and return the results as an Array of Objects
@@ -202,21 +215,21 @@ Execute the query and return the results as an Array of Objects
| Name | Type | | Name | Type |
| :------ | :------ | | :------ | :------ |
| `T` | `Record`<`string`, `unknown`\> | | `T` | `Record`\<`string`, `unknown`\> |
#### Returns #### Returns
`Promise`<`T`[]\> `Promise`\<`T`[]\>
#### Defined in #### Defined in
[index.ts:519](https://github.com/lancedb/lancedb/blob/b1eeb90/node/src/index.ts#L519) [query.ts:115](https://github.com/lancedb/lancedb/blob/7856a94/node/src/query.ts#L115)
___ ___
### filter ### filter
**filter**(`value`): [`Query`](Query.md)<`T`\> **filter**(`value`): [`Query`](Query.md)\<`T`\>
A filter statement to be applied to this query. A filter statement to be applied to this query.
@@ -228,17 +241,31 @@ A filter statement to be applied to this query.
#### Returns #### Returns
[`Query`](Query.md)<`T`\> [`Query`](Query.md)\<`T`\>
#### Defined in #### Defined in
[index.ts:491](https://github.com/lancedb/lancedb/blob/b1eeb90/node/src/index.ts#L491) [query.ts:82](https://github.com/lancedb/lancedb/blob/7856a94/node/src/query.ts#L82)
___
### isElectron
`Private` **isElectron**(): `boolean`
#### Returns
`boolean`
#### Defined in
[query.ts:142](https://github.com/lancedb/lancedb/blob/7856a94/node/src/query.ts#L142)
___ ___
### limit ### limit
**limit**(`value`): [`Query`](Query.md)<`T`\> **limit**(`value`): [`Query`](Query.md)\<`T`\>
Sets the number of results that will be returned Sets the number of results that will be returned
@@ -250,24 +277,20 @@ Sets the number of results that will be returned
#### Returns #### Returns
[`Query`](Query.md)<`T`\> [`Query`](Query.md)\<`T`\>
#### Defined in #### Defined in
[index.ts:464](https://github.com/lancedb/lancedb/blob/b1eeb90/node/src/index.ts#L464) [query.ts:55](https://github.com/lancedb/lancedb/blob/7856a94/node/src/query.ts#L55)
___ ___
### metricType ### metricType
**metricType**(`value`): [`Query`](Query.md)<`T`\> **metricType**(`value`): [`Query`](Query.md)\<`T`\>
The MetricType used for this Query. The MetricType used for this Query.
**`See`**
MetricType for the different options
#### Parameters #### Parameters
| Name | Type | Description | | Name | Type | Description |
@@ -276,17 +299,21 @@ MetricType for the different options
#### Returns #### Returns
[`Query`](Query.md)<`T`\> [`Query`](Query.md)\<`T`\>
**`See`**
MetricType for the different options
#### Defined in #### Defined in
[index.ts:511](https://github.com/lancedb/lancedb/blob/b1eeb90/node/src/index.ts#L511) [query.ts:102](https://github.com/lancedb/lancedb/blob/7856a94/node/src/query.ts#L102)
___ ___
### nprobes ### nprobes
**nprobes**(`value`): [`Query`](Query.md)<`T`\> **nprobes**(`value`): [`Query`](Query.md)\<`T`\>
The number of probes used. A higher number makes search more accurate but also slower. The number of probes used. A higher number makes search more accurate but also slower.
@@ -298,17 +325,37 @@ The number of probes used. A higher number makes search more accurate but also s
#### Returns #### Returns
[`Query`](Query.md)<`T`\> [`Query`](Query.md)\<`T`\>
#### Defined in #### Defined in
[index.ts:482](https://github.com/lancedb/lancedb/blob/b1eeb90/node/src/index.ts#L482) [query.ts:73](https://github.com/lancedb/lancedb/blob/7856a94/node/src/query.ts#L73)
___
### prefilter
**prefilter**(`value`): [`Query`](Query.md)\<`T`\>
#### Parameters
| Name | Type |
| :------ | :------ |
| `value` | `boolean` |
#### Returns
[`Query`](Query.md)\<`T`\>
#### Defined in
[query.ts:107](https://github.com/lancedb/lancedb/blob/7856a94/node/src/query.ts#L107)
___ ___
### refineFactor ### refineFactor
**refineFactor**(`value`): [`Query`](Query.md)<`T`\> **refineFactor**(`value`): [`Query`](Query.md)\<`T`\>
Refine the results by reading extra elements and re-ranking them in memory. Refine the results by reading extra elements and re-ranking them in memory.
@@ -320,17 +367,17 @@ Refine the results by reading extra elements and re-ranking them in memory.
#### Returns #### Returns
[`Query`](Query.md)<`T`\> [`Query`](Query.md)\<`T`\>
#### Defined in #### Defined in
[index.ts:473](https://github.com/lancedb/lancedb/blob/b1eeb90/node/src/index.ts#L473) [query.ts:64](https://github.com/lancedb/lancedb/blob/7856a94/node/src/query.ts#L64)
___ ___
### select ### select
**select**(`value`): [`Query`](Query.md)<`T`\> **select**(`value`): [`Query`](Query.md)\<`T`\>
Return only the specified columns. Return only the specified columns.
@@ -342,8 +389,8 @@ Return only the specified columns.
#### Returns #### Returns
[`Query`](Query.md)<`T`\> [`Query`](Query.md)\<`T`\>
#### Defined in #### Defined in
[index.ts:502](https://github.com/lancedb/lancedb/blob/b1eeb90/node/src/index.ts#L502) [query.ts:93](https://github.com/lancedb/lancedb/blob/7856a94/node/src/query.ts#L93)

View File

@@ -22,7 +22,7 @@ Cosine distance
#### Defined in #### Defined in
[index.ts:567](https://github.com/lancedb/lancedb/blob/b1eeb90/node/src/index.ts#L567) [index.ts:798](https://github.com/lancedb/lancedb/blob/7856a94/node/src/index.ts#L798)
___ ___
@@ -34,7 +34,7 @@ Dot product
#### Defined in #### Defined in
[index.ts:572](https://github.com/lancedb/lancedb/blob/b1eeb90/node/src/index.ts#L572) [index.ts:803](https://github.com/lancedb/lancedb/blob/7856a94/node/src/index.ts#L803)
___ ___
@@ -46,4 +46,4 @@ Euclidean distance
#### Defined in #### Defined in
[index.ts:562](https://github.com/lancedb/lancedb/blob/b1eeb90/node/src/index.ts#L562) [index.ts:793](https://github.com/lancedb/lancedb/blob/7856a94/node/src/index.ts#L793)

View File

@@ -22,7 +22,7 @@ Append new data to the table.
#### Defined in #### Defined in
[index.ts:552](https://github.com/lancedb/lancedb/blob/b1eeb90/node/src/index.ts#L552) [index.ts:766](https://github.com/lancedb/lancedb/blob/7856a94/node/src/index.ts#L766)
___ ___
@@ -34,7 +34,7 @@ Create a new [Table](../interfaces/Table.md).
#### Defined in #### Defined in
[index.ts:548](https://github.com/lancedb/lancedb/blob/b1eeb90/node/src/index.ts#L548) [index.ts:762](https://github.com/lancedb/lancedb/blob/7856a94/node/src/index.ts#L762)
___ ___
@@ -46,4 +46,4 @@ Overwrite the existing [Table](../interfaces/Table.md) if presented.
#### Defined in #### Defined in
[index.ts:550](https://github.com/lancedb/lancedb/blob/b1eeb90/node/src/index.ts#L550) [index.ts:764](https://github.com/lancedb/lancedb/blob/7856a94/node/src/index.ts#L764)

View File

@@ -18,7 +18,7 @@
#### Defined in #### Defined in
[index.ts:31](https://github.com/lancedb/lancedb/blob/b1eeb90/node/src/index.ts#L31) [index.ts:34](https://github.com/lancedb/lancedb/blob/7856a94/node/src/index.ts#L34)
___ ___
@@ -28,7 +28,7 @@ ___
#### Defined in #### Defined in
[index.ts:33](https://github.com/lancedb/lancedb/blob/b1eeb90/node/src/index.ts#L33) [index.ts:36](https://github.com/lancedb/lancedb/blob/7856a94/node/src/index.ts#L36)
___ ___
@@ -38,4 +38,4 @@ ___
#### Defined in #### Defined in
[index.ts:35](https://github.com/lancedb/lancedb/blob/b1eeb90/node/src/index.ts#L35) [index.ts:38](https://github.com/lancedb/lancedb/blob/7856a94/node/src/index.ts#L38)

View File

@@ -0,0 +1,34 @@
[vectordb](../README.md) / [Exports](../modules.md) / CleanupStats
# Interface: CleanupStats
## Table of contents
### Properties
- [bytesRemoved](CleanupStats.md#bytesremoved)
- [oldVersions](CleanupStats.md#oldversions)
## Properties
### bytesRemoved
**bytesRemoved**: `number`
The number of bytes removed from disk.
#### Defined in
[index.ts:637](https://github.com/lancedb/lancedb/blob/7856a94/node/src/index.ts#L637)
___
### oldVersions
**oldVersions**: `number`
The number of old table versions removed.
#### Defined in
[index.ts:641](https://github.com/lancedb/lancedb/blob/7856a94/node/src/index.ts#L641)

View File

@@ -0,0 +1,62 @@
[vectordb](../README.md) / [Exports](../modules.md) / CompactionMetrics
# Interface: CompactionMetrics
## Table of contents
### Properties
- [filesAdded](CompactionMetrics.md#filesadded)
- [filesRemoved](CompactionMetrics.md#filesremoved)
- [fragmentsAdded](CompactionMetrics.md#fragmentsadded)
- [fragmentsRemoved](CompactionMetrics.md#fragmentsremoved)
## Properties
### filesAdded
**filesAdded**: `number`
The number of files added. This is typically equal to the number of
fragments added.
#### Defined in
[index.ts:692](https://github.com/lancedb/lancedb/blob/7856a94/node/src/index.ts#L692)
___
### filesRemoved
**filesRemoved**: `number`
The number of files that were removed. Each fragment may have more than one
file.
#### Defined in
[index.ts:687](https://github.com/lancedb/lancedb/blob/7856a94/node/src/index.ts#L687)
___
### fragmentsAdded
**fragmentsAdded**: `number`
The number of new fragments that were created.
#### Defined in
[index.ts:682](https://github.com/lancedb/lancedb/blob/7856a94/node/src/index.ts#L682)
___
### fragmentsRemoved
**fragmentsRemoved**: `number`
The number of fragments that were removed.
#### Defined in
[index.ts:678](https://github.com/lancedb/lancedb/blob/7856a94/node/src/index.ts#L678)

View File

@@ -0,0 +1,80 @@
[vectordb](../README.md) / [Exports](../modules.md) / CompactionOptions
# Interface: CompactionOptions
## Table of contents
### Properties
- [materializeDeletions](CompactionOptions.md#materializedeletions)
- [materializeDeletionsThreshold](CompactionOptions.md#materializedeletionsthreshold)
- [maxRowsPerGroup](CompactionOptions.md#maxrowspergroup)
- [numThreads](CompactionOptions.md#numthreads)
- [targetRowsPerFragment](CompactionOptions.md#targetrowsperfragment)
## Properties
### materializeDeletions
`Optional` **materializeDeletions**: `boolean`
If true, fragments that have rows that are deleted may be compacted to
remove the deleted rows. This can improve the performance of queries.
Default is true.
#### Defined in
[index.ts:660](https://github.com/lancedb/lancedb/blob/7856a94/node/src/index.ts#L660)
___
### materializeDeletionsThreshold
`Optional` **materializeDeletionsThreshold**: `number`
A number between 0 and 1, representing the proportion of rows that must be
marked deleted before a fragment is a candidate for compaction to remove
the deleted rows. Default is 10%.
#### Defined in
[index.ts:666](https://github.com/lancedb/lancedb/blob/7856a94/node/src/index.ts#L666)
___
### maxRowsPerGroup
`Optional` **maxRowsPerGroup**: `number`
The maximum number of rows per group. Defaults to 1024.
#### Defined in
[index.ts:654](https://github.com/lancedb/lancedb/blob/7856a94/node/src/index.ts#L654)
___
### numThreads
`Optional` **numThreads**: `number`
The number of threads to use for compaction. If not provided, defaults to
the number of cores on the machine.
#### Defined in
[index.ts:671](https://github.com/lancedb/lancedb/blob/7856a94/node/src/index.ts#L671)
___
### targetRowsPerFragment
`Optional` **targetRowsPerFragment**: `number`
The number of rows per fragment to target. Fragments that have fewer rows
will be compacted into adjacent fragments to produce larger fragments.
Defaults to 1024 * 1024.
#### Defined in
[index.ts:650](https://github.com/lancedb/lancedb/blob/7856a94/node/src/index.ts#L650)

View File

@@ -19,7 +19,6 @@ Connection could be local against filesystem or remote against a server.
### Methods ### Methods
- [createTable](Connection.md#createtable) - [createTable](Connection.md#createtable)
- [createTableArrow](Connection.md#createtablearrow)
- [dropTable](Connection.md#droptable) - [dropTable](Connection.md#droptable)
- [openTable](Connection.md#opentable) - [openTable](Connection.md#opentable)
- [tableNames](Connection.md#tablenames) - [tableNames](Connection.md#tablenames)
@@ -32,13 +31,76 @@ Connection could be local against filesystem or remote against a server.
#### Defined in #### Defined in
[index.ts:70](https://github.com/lancedb/lancedb/blob/b1eeb90/node/src/index.ts#L70) [index.ts:125](https://github.com/lancedb/lancedb/blob/7856a94/node/src/index.ts#L125)
## Methods ## Methods
### createTable ### createTable
**createTable**<`T`\>(`name`, `data`, `mode?`, `embeddings?`): `Promise`<[`Table`](Table.md)<`T`\>\> **createTable**\<`T`\>(`«destructured»`): `Promise`\<[`Table`](Table.md)\<`T`\>\>
Creates a new Table, optionally initializing it with new data.
#### Type parameters
| Name |
| :------ |
| `T` |
#### Parameters
| Name | Type |
| :------ | :------ |
| `«destructured»` | [`CreateTableOptions`](CreateTableOptions.md)\<`T`\> |
#### Returns
`Promise`\<[`Table`](Table.md)\<`T`\>\>
#### Defined in
[index.ts:146](https://github.com/lancedb/lancedb/blob/7856a94/node/src/index.ts#L146)
**createTable**(`name`, `data`): `Promise`\<[`Table`](Table.md)\<`number`[]\>\>
Creates a new Table and initialize it with new data.
#### Parameters
| Name | Type | Description |
| :------ | :------ | :------ |
| `name` | `string` | The name of the table. |
| `data` | `Record`\<`string`, `unknown`\>[] | Non-empty Array of Records to be inserted into the table |
#### Returns
`Promise`\<[`Table`](Table.md)\<`number`[]\>\>
#### Defined in
[index.ts:154](https://github.com/lancedb/lancedb/blob/7856a94/node/src/index.ts#L154)
**createTable**(`name`, `data`, `options`): `Promise`\<[`Table`](Table.md)\<`number`[]\>\>
Creates a new Table and initialize it with new data.
#### Parameters
| Name | Type | Description |
| :------ | :------ | :------ |
| `name` | `string` | The name of the table. |
| `data` | `Record`\<`string`, `unknown`\>[] | Non-empty Array of Records to be inserted into the table |
| `options` | [`WriteOptions`](WriteOptions.md) | The write options to use when creating the table. |
#### Returns
`Promise`\<[`Table`](Table.md)\<`number`[]\>\>
#### Defined in
[index.ts:163](https://github.com/lancedb/lancedb/blob/7856a94/node/src/index.ts#L163)
**createTable**\<`T`\>(`name`, `data`, `embeddings`): `Promise`\<[`Table`](Table.md)\<`T`\>\>
Creates a new Table and initialize it with new data. Creates a new Table and initialize it with new data.
@@ -53,44 +115,49 @@ Creates a new Table and initialize it with new data.
| Name | Type | Description | | Name | Type | Description |
| :------ | :------ | :------ | | :------ | :------ | :------ |
| `name` | `string` | The name of the table. | | `name` | `string` | The name of the table. |
| `data` | `Record`<`string`, `unknown`\>[] | Non-empty Array of Records to be inserted into the table | | `data` | `Record`\<`string`, `unknown`\>[] | Non-empty Array of Records to be inserted into the table |
| `mode?` | [`WriteMode`](../enums/WriteMode.md) | The write mode to use when creating the table. | | `embeddings` | [`EmbeddingFunction`](EmbeddingFunction.md)\<`T`\> | An embedding function to use on this table |
| `embeddings?` | [`EmbeddingFunction`](EmbeddingFunction.md)<`T`\> | An embedding function to use on this table |
#### Returns #### Returns
`Promise`<[`Table`](Table.md)<`T`\>\> `Promise`\<[`Table`](Table.md)\<`T`\>\>
#### Defined in #### Defined in
[index.ts:90](https://github.com/lancedb/lancedb/blob/b1eeb90/node/src/index.ts#L90) [index.ts:172](https://github.com/lancedb/lancedb/blob/7856a94/node/src/index.ts#L172)
___ **createTable**\<`T`\>(`name`, `data`, `embeddings`, `options`): `Promise`\<[`Table`](Table.md)\<`T`\>\>
### createTableArrow Creates a new Table and initialize it with new data.
**createTableArrow**(`name`, `table`): `Promise`<[`Table`](Table.md)<`number`[]\>\> #### Type parameters
| Name |
| :------ |
| `T` |
#### Parameters #### Parameters
| Name | Type | | Name | Type | Description |
| :------ | :------ | | :------ | :------ | :------ |
| `name` | `string` | | `name` | `string` | The name of the table. |
| `table` | `Table`<`any`\> | | `data` | `Record`\<`string`, `unknown`\>[] | Non-empty Array of Records to be inserted into the table |
| `embeddings` | [`EmbeddingFunction`](EmbeddingFunction.md)\<`T`\> | An embedding function to use on this table |
| `options` | [`WriteOptions`](WriteOptions.md) | The write options to use when creating the table. |
#### Returns #### Returns
`Promise`<[`Table`](Table.md)<`number`[]\>\> `Promise`\<[`Table`](Table.md)\<`T`\>\>
#### Defined in #### Defined in
[index.ts:92](https://github.com/lancedb/lancedb/blob/b1eeb90/node/src/index.ts#L92) [index.ts:181](https://github.com/lancedb/lancedb/blob/7856a94/node/src/index.ts#L181)
___ ___
### dropTable ### dropTable
**dropTable**(`name`): `Promise`<`void`\> **dropTable**(`name`): `Promise`\<`void`\>
Drop an existing table. Drop an existing table.
@@ -102,17 +169,17 @@ Drop an existing table.
#### Returns #### Returns
`Promise`<`void`\> `Promise`\<`void`\>
#### Defined in #### Defined in
[index.ts:98](https://github.com/lancedb/lancedb/blob/b1eeb90/node/src/index.ts#L98) [index.ts:187](https://github.com/lancedb/lancedb/blob/7856a94/node/src/index.ts#L187)
___ ___
### openTable ### openTable
**openTable**<`T`\>(`name`, `embeddings?`): `Promise`<[`Table`](Table.md)<`T`\>\> **openTable**\<`T`\>(`name`, `embeddings?`): `Promise`\<[`Table`](Table.md)\<`T`\>\>
Open a table in the database. Open a table in the database.
@@ -127,26 +194,26 @@ Open a table in the database.
| Name | Type | Description | | Name | Type | Description |
| :------ | :------ | :------ | | :------ | :------ | :------ |
| `name` | `string` | The name of the table. | | `name` | `string` | The name of the table. |
| `embeddings?` | [`EmbeddingFunction`](EmbeddingFunction.md)<`T`\> | An embedding function to use on this table | | `embeddings?` | [`EmbeddingFunction`](EmbeddingFunction.md)\<`T`\> | An embedding function to use on this table |
#### Returns #### Returns
`Promise`<[`Table`](Table.md)<`T`\>\> `Promise`\<[`Table`](Table.md)\<`T`\>\>
#### Defined in #### Defined in
[index.ts:80](https://github.com/lancedb/lancedb/blob/b1eeb90/node/src/index.ts#L80) [index.ts:135](https://github.com/lancedb/lancedb/blob/7856a94/node/src/index.ts#L135)
___ ___
### tableNames ### tableNames
**tableNames**(): `Promise`<`string`[]\> **tableNames**(): `Promise`\<`string`[]\>
#### Returns #### Returns
`Promise`<`string`[]\> `Promise`\<`string`[]\>
#### Defined in #### Defined in
[index.ts:72](https://github.com/lancedb/lancedb/blob/b1eeb90/node/src/index.ts#L72) [index.ts:127](https://github.com/lancedb/lancedb/blob/7856a94/node/src/index.ts#L127)

View File

@@ -6,18 +6,62 @@
### Properties ### Properties
- [apiKey](ConnectionOptions.md#apikey)
- [awsCredentials](ConnectionOptions.md#awscredentials) - [awsCredentials](ConnectionOptions.md#awscredentials)
- [awsRegion](ConnectionOptions.md#awsregion)
- [hostOverride](ConnectionOptions.md#hostoverride)
- [region](ConnectionOptions.md#region)
- [uri](ConnectionOptions.md#uri) - [uri](ConnectionOptions.md#uri)
## Properties ## Properties
### apiKey
`Optional` **apiKey**: `string`
#### Defined in
[index.ts:49](https://github.com/lancedb/lancedb/blob/7856a94/node/src/index.ts#L49)
___
### awsCredentials ### awsCredentials
`Optional` **awsCredentials**: [`AwsCredentials`](AwsCredentials.md) `Optional` **awsCredentials**: [`AwsCredentials`](AwsCredentials.md)
#### Defined in #### Defined in
[index.ts:40](https://github.com/lancedb/lancedb/blob/b1eeb90/node/src/index.ts#L40) [index.ts:44](https://github.com/lancedb/lancedb/blob/7856a94/node/src/index.ts#L44)
___
### awsRegion
`Optional` **awsRegion**: `string`
#### Defined in
[index.ts:46](https://github.com/lancedb/lancedb/blob/7856a94/node/src/index.ts#L46)
___
### hostOverride
`Optional` **hostOverride**: `string`
#### Defined in
[index.ts:54](https://github.com/lancedb/lancedb/blob/7856a94/node/src/index.ts#L54)
___
### region
`Optional` **region**: `string`
#### Defined in
[index.ts:51](https://github.com/lancedb/lancedb/blob/7856a94/node/src/index.ts#L51)
___ ___
@@ -27,4 +71,4 @@ ___
#### Defined in #### Defined in
[index.ts:39](https://github.com/lancedb/lancedb/blob/b1eeb90/node/src/index.ts#L39) [index.ts:42](https://github.com/lancedb/lancedb/blob/7856a94/node/src/index.ts#L42)

View File

@@ -0,0 +1,69 @@
[vectordb](../README.md) / [Exports](../modules.md) / CreateTableOptions
# Interface: CreateTableOptions\<T\>
## Type parameters
| Name |
| :------ |
| `T` |
## Table of contents
### Properties
- [data](CreateTableOptions.md#data)
- [embeddingFunction](CreateTableOptions.md#embeddingfunction)
- [name](CreateTableOptions.md#name)
- [schema](CreateTableOptions.md#schema)
- [writeOptions](CreateTableOptions.md#writeoptions)
## Properties
### data
`Optional` **data**: `Table`\<`any`\> \| `Record`\<`string`, `unknown`\>[]
#### Defined in
[index.ts:79](https://github.com/lancedb/lancedb/blob/7856a94/node/src/index.ts#L79)
___
### embeddingFunction
`Optional` **embeddingFunction**: [`EmbeddingFunction`](EmbeddingFunction.md)\<`T`\>
#### Defined in
[index.ts:85](https://github.com/lancedb/lancedb/blob/7856a94/node/src/index.ts#L85)
___
### name
**name**: `string`
#### Defined in
[index.ts:76](https://github.com/lancedb/lancedb/blob/7856a94/node/src/index.ts#L76)
___
### schema
`Optional` **schema**: `Schema`\<`any`\>
#### Defined in
[index.ts:82](https://github.com/lancedb/lancedb/blob/7856a94/node/src/index.ts#L82)
___
### writeOptions
`Optional` **writeOptions**: [`WriteOptions`](WriteOptions.md)
#### Defined in
[index.ts:88](https://github.com/lancedb/lancedb/blob/7856a94/node/src/index.ts#L88)

View File

@@ -1,6 +1,6 @@
[vectordb](../README.md) / [Exports](../modules.md) / EmbeddingFunction [vectordb](../README.md) / [Exports](../modules.md) / EmbeddingFunction
# Interface: EmbeddingFunction<T\> # Interface: EmbeddingFunction\<T\>
An embedding function that automatically creates vector representation for a given column. An embedding function that automatically creates vector representation for a given column.
@@ -25,11 +25,11 @@ An embedding function that automatically creates vector representation for a giv
### embed ### embed
**embed**: (`data`: `T`[]) => `Promise`<`number`[][]\> **embed**: (`data`: `T`[]) => `Promise`\<`number`[][]\>
#### Type declaration #### Type declaration
▸ (`data`): `Promise`<`number`[][]\> ▸ (`data`): `Promise`\<`number`[][]\>
Creates a vector representation for the given values. Creates a vector representation for the given values.
@@ -41,11 +41,11 @@ Creates a vector representation for the given values.
##### Returns ##### Returns
`Promise`<`number`[][]\> `Promise`\<`number`[][]\>
#### Defined in #### Defined in
[embedding/embedding_function.ts:27](https://github.com/lancedb/lancedb/blob/b1eeb90/node/src/embedding/embedding_function.ts#L27) [embedding/embedding_function.ts:27](https://github.com/lancedb/lancedb/blob/7856a94/node/src/embedding/embedding_function.ts#L27)
___ ___
@@ -57,4 +57,4 @@ The name of the column that will be used as input for the Embedding Function.
#### Defined in #### Defined in
[embedding/embedding_function.ts:22](https://github.com/lancedb/lancedb/blob/b1eeb90/node/src/embedding/embedding_function.ts#L22) [embedding/embedding_function.ts:22](https://github.com/lancedb/lancedb/blob/7856a94/node/src/embedding/embedding_function.ts#L22)

View File

@@ -0,0 +1,30 @@
[vectordb](../README.md) / [Exports](../modules.md) / IndexStats
# Interface: IndexStats
## Table of contents
### Properties
- [numIndexedRows](IndexStats.md#numindexedrows)
- [numUnindexedRows](IndexStats.md#numunindexedrows)
## Properties
### numIndexedRows
**numIndexedRows**: ``null`` \| `number`
#### Defined in
[index.ts:344](https://github.com/lancedb/lancedb/blob/7856a94/node/src/index.ts#L344)
___
### numUnindexedRows
• **numUnindexedRows**: ``null`` \| `number`
#### Defined in
[index.ts:345](https://github.com/lancedb/lancedb/blob/7856a94/node/src/index.ts#L345)

View File

@@ -7,6 +7,7 @@
### Properties ### Properties
- [column](IvfPQIndexConfig.md#column) - [column](IvfPQIndexConfig.md#column)
- [index\_cache\_size](IvfPQIndexConfig.md#index_cache_size)
- [index\_name](IvfPQIndexConfig.md#index_name) - [index\_name](IvfPQIndexConfig.md#index_name)
- [max\_iters](IvfPQIndexConfig.md#max_iters) - [max\_iters](IvfPQIndexConfig.md#max_iters)
- [max\_opq\_iters](IvfPQIndexConfig.md#max_opq_iters) - [max\_opq\_iters](IvfPQIndexConfig.md#max_opq_iters)
@@ -28,7 +29,19 @@ The column to be indexed
#### Defined in #### Defined in
[index.ts:382](https://github.com/lancedb/lancedb/blob/b1eeb90/node/src/index.ts#L382) [index.ts:701](https://github.com/lancedb/lancedb/blob/7856a94/node/src/index.ts#L701)
___
### index\_cache\_size
`Optional` **index\_cache\_size**: `number`
Cache size of the index
#### Defined in
[index.ts:750](https://github.com/lancedb/lancedb/blob/7856a94/node/src/index.ts#L750)
___ ___
@@ -40,7 +53,7 @@ A unique name for the index
#### Defined in #### Defined in
[index.ts:387](https://github.com/lancedb/lancedb/blob/b1eeb90/node/src/index.ts#L387) [index.ts:706](https://github.com/lancedb/lancedb/blob/7856a94/node/src/index.ts#L706)
___ ___
@@ -52,7 +65,7 @@ The max number of iterations for kmeans training.
#### Defined in #### Defined in
[index.ts:402](https://github.com/lancedb/lancedb/blob/b1eeb90/node/src/index.ts#L402) [index.ts:721](https://github.com/lancedb/lancedb/blob/7856a94/node/src/index.ts#L721)
___ ___
@@ -64,7 +77,7 @@ Max number of iterations to train OPQ, if `use_opq` is true.
#### Defined in #### Defined in
[index.ts:421](https://github.com/lancedb/lancedb/blob/b1eeb90/node/src/index.ts#L421) [index.ts:740](https://github.com/lancedb/lancedb/blob/7856a94/node/src/index.ts#L740)
___ ___
@@ -76,7 +89,7 @@ Metric type, L2 or Cosine
#### Defined in #### Defined in
[index.ts:392](https://github.com/lancedb/lancedb/blob/b1eeb90/node/src/index.ts#L392) [index.ts:711](https://github.com/lancedb/lancedb/blob/7856a94/node/src/index.ts#L711)
___ ___
@@ -88,7 +101,7 @@ The number of bits to present one PQ centroid.
#### Defined in #### Defined in
[index.ts:416](https://github.com/lancedb/lancedb/blob/b1eeb90/node/src/index.ts#L416) [index.ts:735](https://github.com/lancedb/lancedb/blob/7856a94/node/src/index.ts#L735)
___ ___
@@ -100,7 +113,7 @@ The number of partitions this index
#### Defined in #### Defined in
[index.ts:397](https://github.com/lancedb/lancedb/blob/b1eeb90/node/src/index.ts#L397) [index.ts:716](https://github.com/lancedb/lancedb/blob/7856a94/node/src/index.ts#L716)
___ ___
@@ -112,7 +125,7 @@ Number of subvectors to build PQ code
#### Defined in #### Defined in
[index.ts:412](https://github.com/lancedb/lancedb/blob/b1eeb90/node/src/index.ts#L412) [index.ts:731](https://github.com/lancedb/lancedb/blob/7856a94/node/src/index.ts#L731)
___ ___
@@ -124,7 +137,7 @@ Replace an existing index with the same name if it exists.
#### Defined in #### Defined in
[index.ts:426](https://github.com/lancedb/lancedb/blob/b1eeb90/node/src/index.ts#L426) [index.ts:745](https://github.com/lancedb/lancedb/blob/7856a94/node/src/index.ts#L745)
___ ___
@@ -134,7 +147,7 @@ ___
#### Defined in #### Defined in
[index.ts:428](https://github.com/lancedb/lancedb/blob/b1eeb90/node/src/index.ts#L428) [index.ts:752](https://github.com/lancedb/lancedb/blob/7856a94/node/src/index.ts#L752)
___ ___
@@ -146,4 +159,4 @@ Train as optimized product quantization.
#### Defined in #### Defined in
[index.ts:407](https://github.com/lancedb/lancedb/blob/b1eeb90/node/src/index.ts#L407) [index.ts:726](https://github.com/lancedb/lancedb/blob/7856a94/node/src/index.ts#L726)

View File

@@ -1,6 +1,6 @@
[vectordb](../README.md) / [Exports](../modules.md) / Table [vectordb](../README.md) / [Exports](../modules.md) / Table
# Interface: Table<T\> # Interface: Table\<T\>
A LanceDB Table is the collection of Records. Each Record has one or more vector fields. A LanceDB Table is the collection of Records. Each Record has one or more vector fields.
@@ -22,19 +22,22 @@ A LanceDB Table is the collection of Records. Each Record has one or more vector
- [countRows](Table.md#countrows) - [countRows](Table.md#countrows)
- [createIndex](Table.md#createindex) - [createIndex](Table.md#createindex)
- [delete](Table.md#delete) - [delete](Table.md#delete)
- [indexStats](Table.md#indexstats)
- [listIndices](Table.md#listindices)
- [name](Table.md#name) - [name](Table.md#name)
- [overwrite](Table.md#overwrite) - [overwrite](Table.md#overwrite)
- [search](Table.md#search) - [search](Table.md#search)
- [update](Table.md#update)
## Properties ## Properties
### add ### add
**add**: (`data`: `Record`<`string`, `unknown`\>[]) => `Promise`<`number`\> **add**: (`data`: `Record`\<`string`, `unknown`\>[]) => `Promise`\<`number`\>
#### Type declaration #### Type declaration
▸ (`data`): `Promise`<`number`\> ▸ (`data`): `Promise`\<`number`\>
Insert records into this Table. Insert records into this Table.
@@ -42,54 +45,50 @@ Insert records into this Table.
| Name | Type | Description | | Name | Type | Description |
| :------ | :------ | :------ | | :------ | :------ | :------ |
| `data` | `Record`<`string`, `unknown`\>[] | Records to be inserted into the Table | | `data` | `Record`\<`string`, `unknown`\>[] | Records to be inserted into the Table |
##### Returns ##### Returns
`Promise`<`number`\> `Promise`\<`number`\>
The number of rows added to the table The number of rows added to the table
#### Defined in #### Defined in
[index.ts:120](https://github.com/lancedb/lancedb/blob/b1eeb90/node/src/index.ts#L120) [index.ts:209](https://github.com/lancedb/lancedb/blob/7856a94/node/src/index.ts#L209)
___ ___
### countRows ### countRows
**countRows**: () => `Promise`<`number`\> **countRows**: () => `Promise`\<`number`\>
#### Type declaration #### Type declaration
▸ (): `Promise`<`number`\> ▸ (): `Promise`\<`number`\>
Returns the number of rows in this table. Returns the number of rows in this table.
##### Returns ##### Returns
`Promise`<`number`\> `Promise`\<`number`\>
#### Defined in #### Defined in
[index.ts:140](https://github.com/lancedb/lancedb/blob/b1eeb90/node/src/index.ts#L140) [index.ts:229](https://github.com/lancedb/lancedb/blob/7856a94/node/src/index.ts#L229)
___ ___
### createIndex ### createIndex
**createIndex**: (`indexParams`: [`IvfPQIndexConfig`](IvfPQIndexConfig.md)) => `Promise`<`any`\> **createIndex**: (`indexParams`: [`IvfPQIndexConfig`](IvfPQIndexConfig.md)) => `Promise`\<`any`\>
#### Type declaration #### Type declaration
▸ (`indexParams`): `Promise`<`any`\> ▸ (`indexParams`): `Promise`\<`any`\>
Create an ANN index on this Table vector index. Create an ANN index on this Table vector index.
**`See`**
VectorIndexParams.
##### Parameters ##### Parameters
| Name | Type | Description | | Name | Type | Description |
@@ -98,27 +97,41 @@ VectorIndexParams.
##### Returns ##### Returns
`Promise`<`any`\> `Promise`\<`any`\>
**`See`**
VectorIndexParams.
#### Defined in #### Defined in
[index.ts:135](https://github.com/lancedb/lancedb/blob/b1eeb90/node/src/index.ts#L135) [index.ts:224](https://github.com/lancedb/lancedb/blob/7856a94/node/src/index.ts#L224)
___ ___
### delete ### delete
**delete**: (`filter`: `string`) => `Promise`<`void`\> **delete**: (`filter`: `string`) => `Promise`\<`void`\>
#### Type declaration #### Type declaration
▸ (`filter`): `Promise`<`void`\> ▸ (`filter`): `Promise`\<`void`\>
Delete rows from this table. Delete rows from this table.
This can be used to delete a single row, many rows, all rows, or This can be used to delete a single row, many rows, all rows, or
sometimes no rows (if your predicate matches nothing). sometimes no rows (if your predicate matches nothing).
##### Parameters
| Name | Type | Description |
| :------ | :------ | :------ |
| `filter` | `string` | A filter in the same format used by a sql WHERE clause. The filter must not be empty. |
##### Returns
`Promise`\<`void`\>
**`Examples`** **`Examples`**
```ts ```ts
@@ -142,19 +155,55 @@ await tbl.delete(`id IN (${to_remove.join(",")})`)
await tbl.countRows() // Returns 1 await tbl.countRows() // Returns 1
``` ```
#### Defined in
[index.ts:263](https://github.com/lancedb/lancedb/blob/7856a94/node/src/index.ts#L263)
___
### indexStats
**indexStats**: (`indexUuid`: `string`) => `Promise`\<[`IndexStats`](IndexStats.md)\>
#### Type declaration
▸ (`indexUuid`): `Promise`\<[`IndexStats`](IndexStats.md)\>
Get statistics about an index.
##### Parameters ##### Parameters
| Name | Type | Description | | Name | Type |
| :------ | :------ | :------ | | :------ | :------ |
| `filter` | `string` | A filter in the same format used by a sql WHERE clause. The filter must not be empty. | | `indexUuid` | `string` |
##### Returns ##### Returns
`Promise`<`void`\> `Promise`\<[`IndexStats`](IndexStats.md)\>
#### Defined in #### Defined in
[index.ts:174](https://github.com/lancedb/lancedb/blob/b1eeb90/node/src/index.ts#L174) [index.ts:306](https://github.com/lancedb/lancedb/blob/7856a94/node/src/index.ts#L306)
___
### listIndices
**listIndices**: () => `Promise`\<[`VectorIndex`](VectorIndex.md)[]\>
#### Type declaration
▸ (): `Promise`\<[`VectorIndex`](VectorIndex.md)[]\>
List the indicies on this table.
##### Returns
`Promise`\<[`VectorIndex`](VectorIndex.md)[]\>
#### Defined in
[index.ts:301](https://github.com/lancedb/lancedb/blob/7856a94/node/src/index.ts#L301)
___ ___
@@ -164,17 +213,17 @@ ___
#### Defined in #### Defined in
[index.ts:106](https://github.com/lancedb/lancedb/blob/b1eeb90/node/src/index.ts#L106) [index.ts:195](https://github.com/lancedb/lancedb/blob/7856a94/node/src/index.ts#L195)
___ ___
### overwrite ### overwrite
**overwrite**: (`data`: `Record`<`string`, `unknown`\>[]) => `Promise`<`number`\> **overwrite**: (`data`: `Record`\<`string`, `unknown`\>[]) => `Promise`\<`number`\>
#### Type declaration #### Type declaration
▸ (`data`): `Promise`<`number`\> ▸ (`data`): `Promise`\<`number`\>
Insert records into this Table, replacing its contents. Insert records into this Table, replacing its contents.
@@ -182,27 +231,27 @@ Insert records into this Table, replacing its contents.
| Name | Type | Description | | Name | Type | Description |
| :------ | :------ | :------ | | :------ | :------ | :------ |
| `data` | `Record`<`string`, `unknown`\>[] | Records to be inserted into the Table | | `data` | `Record`\<`string`, `unknown`\>[] | Records to be inserted into the Table |
##### Returns ##### Returns
`Promise`<`number`\> `Promise`\<`number`\>
The number of rows added to the table The number of rows added to the table
#### Defined in #### Defined in
[index.ts:128](https://github.com/lancedb/lancedb/blob/b1eeb90/node/src/index.ts#L128) [index.ts:217](https://github.com/lancedb/lancedb/blob/7856a94/node/src/index.ts#L217)
___ ___
### search ### search
**search**: (`query`: `T`) => [`Query`](../classes/Query.md)<`T`\> **search**: (`query`: `T`) => [`Query`](../classes/Query.md)\<`T`\>
#### Type declaration #### Type declaration
▸ (`query`): [`Query`](../classes/Query.md)<`T`\> ▸ (`query`): [`Query`](../classes/Query.md)\<`T`\>
Creates a search query to find the nearest neighbors of the given search term Creates a search query to find the nearest neighbors of the given search term
@@ -214,8 +263,59 @@ Creates a search query to find the nearest neighbors of the given search term
##### Returns ##### Returns
[`Query`](../classes/Query.md)<`T`\> [`Query`](../classes/Query.md)\<`T`\>
#### Defined in #### Defined in
[index.ts:112](https://github.com/lancedb/lancedb/blob/b1eeb90/node/src/index.ts#L112) [index.ts:201](https://github.com/lancedb/lancedb/blob/7856a94/node/src/index.ts#L201)
___
### update
**update**: (`args`: [`UpdateArgs`](UpdateArgs.md) \| [`UpdateSqlArgs`](UpdateSqlArgs.md)) => `Promise`\<`void`\>
#### Type declaration
▸ (`args`): `Promise`\<`void`\>
Update rows in this table.
This can be used to update a single row, many rows, all rows, or
sometimes no rows (if your predicate matches nothing).
##### Parameters
| Name | Type | Description |
| :------ | :------ | :------ |
| `args` | [`UpdateArgs`](UpdateArgs.md) \| [`UpdateSqlArgs`](UpdateSqlArgs.md) | see [UpdateArgs](UpdateArgs.md) and [UpdateSqlArgs](UpdateSqlArgs.md) for more details |
##### Returns
`Promise`\<`void`\>
**`Examples`**
```ts
const con = await lancedb.connect("./.lancedb")
const data = [
{id: 1, vector: [3, 3], name: 'Ye'},
{id: 2, vector: [4, 4], name: 'Mike'},
];
const tbl = await con.createTable("my_table", data)
await tbl.update({
filter: "id = 2",
updates: { vector: [2, 2], name: "Michael" },
})
let results = await tbl.search([1, 1]).execute();
// Returns [
// {id: 2, vector: [2, 2], name: 'Michael'}
// {id: 1, vector: [3, 3], name: 'Ye'}
// ]
```
#### Defined in
[index.ts:296](https://github.com/lancedb/lancedb/blob/7856a94/node/src/index.ts#L296)

View File

@@ -0,0 +1,36 @@
[vectordb](../README.md) / [Exports](../modules.md) / UpdateArgs
# Interface: UpdateArgs
## Table of contents
### Properties
- [values](UpdateArgs.md#values)
- [where](UpdateArgs.md#where)
## Properties
### values
**values**: `Record`\<`string`, `Literal`\>
A key-value map of updates. The keys are the column names, and the values are the
new values to set
#### Defined in
[index.ts:320](https://github.com/lancedb/lancedb/blob/7856a94/node/src/index.ts#L320)
___
### where
`Optional` **where**: `string`
A filter in the same format used by a sql WHERE clause. The filter may be empty,
in which case all rows will be updated.
#### Defined in
[index.ts:314](https://github.com/lancedb/lancedb/blob/7856a94/node/src/index.ts#L314)

View File

@@ -0,0 +1,36 @@
[vectordb](../README.md) / [Exports](../modules.md) / UpdateSqlArgs
# Interface: UpdateSqlArgs
## Table of contents
### Properties
- [valuesSql](UpdateSqlArgs.md#valuessql)
- [where](UpdateSqlArgs.md#where)
## Properties
### valuesSql
**valuesSql**: `Record`\<`string`, `string`\>
A key-value map of updates. The keys are the column names, and the values are the
new values to set as SQL expressions.
#### Defined in
[index.ts:334](https://github.com/lancedb/lancedb/blob/7856a94/node/src/index.ts#L334)
___
### where
`Optional` **where**: `string`
A filter in the same format used by a sql WHERE clause. The filter may be empty,
in which case all rows will be updated.
#### Defined in
[index.ts:328](https://github.com/lancedb/lancedb/blob/7856a94/node/src/index.ts#L328)

View File

@@ -0,0 +1,41 @@
[vectordb](../README.md) / [Exports](../modules.md) / VectorIndex
# Interface: VectorIndex
## Table of contents
### Properties
- [columns](VectorIndex.md#columns)
- [name](VectorIndex.md#name)
- [uuid](VectorIndex.md#uuid)
## Properties
### columns
**columns**: `string`[]
#### Defined in
[index.ts:338](https://github.com/lancedb/lancedb/blob/7856a94/node/src/index.ts#L338)
___
### name
**name**: `string`
#### Defined in
[index.ts:339](https://github.com/lancedb/lancedb/blob/7856a94/node/src/index.ts#L339)
___
### uuid
**uuid**: `string`
#### Defined in
[index.ts:340](https://github.com/lancedb/lancedb/blob/7856a94/node/src/index.ts#L340)

View File

@@ -0,0 +1,27 @@
[vectordb](../README.md) / [Exports](../modules.md) / WriteOptions
# Interface: WriteOptions
Write options when creating a Table.
## Implemented by
- [`DefaultWriteOptions`](../classes/DefaultWriteOptions.md)
## Table of contents
### Properties
- [writeMode](WriteOptions.md#writemode)
## Properties
### writeMode
`Optional` **writeMode**: [`WriteMode`](../enums/WriteMode.md)
A [WriteMode](../enums/WriteMode.md) to use on this operation
#### Defined in
[index.ts:774](https://github.com/lancedb/lancedb/blob/7856a94/node/src/index.ts#L774)

View File

@@ -11,6 +11,7 @@
### Classes ### Classes
- [DefaultWriteOptions](classes/DefaultWriteOptions.md)
- [LocalConnection](classes/LocalConnection.md) - [LocalConnection](classes/LocalConnection.md)
- [LocalTable](classes/LocalTable.md) - [LocalTable](classes/LocalTable.md)
- [OpenAIEmbeddingFunction](classes/OpenAIEmbeddingFunction.md) - [OpenAIEmbeddingFunction](classes/OpenAIEmbeddingFunction.md)
@@ -19,11 +20,20 @@
### Interfaces ### Interfaces
- [AwsCredentials](interfaces/AwsCredentials.md) - [AwsCredentials](interfaces/AwsCredentials.md)
- [CleanupStats](interfaces/CleanupStats.md)
- [CompactionMetrics](interfaces/CompactionMetrics.md)
- [CompactionOptions](interfaces/CompactionOptions.md)
- [Connection](interfaces/Connection.md) - [Connection](interfaces/Connection.md)
- [ConnectionOptions](interfaces/ConnectionOptions.md) - [ConnectionOptions](interfaces/ConnectionOptions.md)
- [CreateTableOptions](interfaces/CreateTableOptions.md)
- [EmbeddingFunction](interfaces/EmbeddingFunction.md) - [EmbeddingFunction](interfaces/EmbeddingFunction.md)
- [IndexStats](interfaces/IndexStats.md)
- [IvfPQIndexConfig](interfaces/IvfPQIndexConfig.md) - [IvfPQIndexConfig](interfaces/IvfPQIndexConfig.md)
- [Table](interfaces/Table.md) - [Table](interfaces/Table.md)
- [UpdateArgs](interfaces/UpdateArgs.md)
- [UpdateSqlArgs](interfaces/UpdateSqlArgs.md)
- [VectorIndex](interfaces/VectorIndex.md)
- [WriteOptions](interfaces/WriteOptions.md)
### Type Aliases ### Type Aliases
@@ -32,6 +42,7 @@
### Functions ### Functions
- [connect](modules.md#connect) - [connect](modules.md#connect)
- [isWriteOptions](modules.md#iswriteoptions)
## Type Aliases ## Type Aliases
@@ -41,13 +52,13 @@
#### Defined in #### Defined in
[index.ts:431](https://github.com/lancedb/lancedb/blob/b1eeb90/node/src/index.ts#L431) [index.ts:755](https://github.com/lancedb/lancedb/blob/7856a94/node/src/index.ts#L755)
## Functions ## Functions
### connect ### connect
**connect**(`uri`): `Promise`<[`Connection`](interfaces/Connection.md)\> **connect**(`uri`): `Promise`\<[`Connection`](interfaces/Connection.md)\>
Connect to a LanceDB instance at the given URI Connect to a LanceDB instance at the given URI
@@ -59,24 +70,44 @@ Connect to a LanceDB instance at the given URI
#### Returns #### Returns
`Promise`<[`Connection`](interfaces/Connection.md)\> `Promise`\<[`Connection`](interfaces/Connection.md)\>
#### Defined in #### Defined in
[index.ts:47](https://github.com/lancedb/lancedb/blob/b1eeb90/node/src/index.ts#L47) [index.ts:95](https://github.com/lancedb/lancedb/blob/7856a94/node/src/index.ts#L95)
**connect**(`opts`): `Promise`<[`Connection`](interfaces/Connection.md)\> **connect**(`opts`): `Promise`\<[`Connection`](interfaces/Connection.md)\>
#### Parameters #### Parameters
| Name | Type | | Name | Type |
| :------ | :------ | | :------ | :------ |
| `opts` | `Partial`<[`ConnectionOptions`](interfaces/ConnectionOptions.md)\> | | `opts` | `Partial`\<[`ConnectionOptions`](interfaces/ConnectionOptions.md)\> |
#### Returns #### Returns
`Promise`<[`Connection`](interfaces/Connection.md)\> `Promise`\<[`Connection`](interfaces/Connection.md)\>
#### Defined in #### Defined in
[index.ts:48](https://github.com/lancedb/lancedb/blob/b1eeb90/node/src/index.ts#L48) [index.ts:96](https://github.com/lancedb/lancedb/blob/7856a94/node/src/index.ts#L96)
___
### isWriteOptions
**isWriteOptions**(`value`): value is WriteOptions
#### Parameters
| Name | Type |
| :------ | :------ |
| `value` | `any` |
#### Returns
value is WriteOptions
#### Defined in
[index.ts:781](https://github.com/lancedb/lancedb/blob/7856a94/node/src/index.ts#L781)

View File

@@ -1,7 +1,7 @@
# SQL filters # SQL filters
LanceDB embraces the utilization of standard SQL expressions as predicates for hybrid LanceDB embraces the utilization of standard SQL expressions as predicates for hybrid
filters. It can be used during hybrid vector search and deletion operations. filters. It can be used during hybrid vector search, update, and deletion operations.
Currently, Lance supports a growing list of expressions. Currently, Lance supports a growing list of expressions.

View File

@@ -383,6 +383,61 @@ class Table(ABC):
""" """
raise NotImplementedError raise NotImplementedError
@abstractmethod
def update(
self,
where: Optional[str] = None,
values: Optional[dict] = None,
*,
values_sql: Optional[Dict[str, str]] = None,
):
"""
This can be used to update zero to all rows depending on how many
rows match the where clause. If no where clause is provided, then
all rows will be updated.
Either `values` or `values_sql` must be provided. You cannot provide
both.
Parameters
----------
where: str, optional
The SQL where clause to use when updating rows. For example, 'x = 2'
or 'x IN (1, 2, 3)'. The filter must not be empty, or it will error.
values: dict, optional
The values to update. The keys are the column names and the values
are the values to set.
values_sql: dict, optional
The values to update, expressed as SQL expression strings. These can
reference existing columns. For example, {"x": "x + 1"} will increment
the x column by 1.
Examples
--------
>>> import lancedb
>>> import pandas as pd
>>> data = pd.DataFrame({"x": [1, 2, 3], "vector": [[1, 2], [3, 4], [5, 6]]})
>>> db = lancedb.connect("./.lancedb")
>>> table = db.create_table("my_table", data)
>>> table.to_pandas()
x vector
0 1 [1.0, 2.0]
1 2 [3.0, 4.0]
2 3 [5.0, 6.0]
>>> table.update(where="x = 2", values={"vector": [10, 10]})
>>> table.to_pandas()
x vector
0 1 [1.0, 2.0]
1 3 [5.0, 6.0]
2 2 [10.0, 10.0]
>>> table.update(values_sql={"x": "x + 1"})
>>> table.to_pandas()
x vector
0 2 [1.0, 2.0]
1 4 [5.0, 6.0]
2 3 [10.0, 10.0]
"""
raise NotImplementedError
class LanceTable(Table): class LanceTable(Table):
""" """