Movatterモバイル変換


[0]ホーム

URL:


Skip to content

vectordb /Exports / Table

Interface: Table\<T>

A LanceDB Table is the collection of Records. Each Record has one or more vector fields.

Type parameters

NameType
Tnumber[]

Implemented by

Table of contents

Properties

Methods

Properties

add

add: (data:Table\<any> |Record\<string,unknown>[]) =>Promise\<number>

Type declaration

▸ (data):Promise\<number>

Insert records into this Table.

Parameters
NameTypeDescription
dataTable\<any> |Record\<string,unknown>[]Records to be inserted into the Table
Returns

Promise\<number>

The number of rows added to the table

Defined in

index.ts:382


countRows

countRows: (filter?:string) =>Promise\<number>

Type declaration

▸ (filter?):Promise\<number>

Returns the number of rows in this table.

Parameters
NameType
filter?string
Returns

Promise\<number>

Defined in

index.ts:455


createIndex

createIndex: (indexParams:IvfPQIndexConfig) =>Promise\<any>

Type declaration

▸ (indexParams):Promise\<any>

Create an ANN index on this Table vector index.

Parameters
NameTypeDescription
indexParamsIvfPQIndexConfigThe parameters of this Index,
Returns

Promise\<any>

See

VectorIndexParams.

Defined in

index.ts:399


createScalarIndex

createScalarIndex: (column:string,replace?:boolean) =>Promise\<void>

Type declaration

▸ (column,replace?):Promise\<void>

Create a scalar index on this Table for the given column

Parameters
NameTypeDescription
columnstringThe column to index
replace?booleanIf false, fail if an index already exists on the column it is always set to true for remote connections Scalar indices, like vector indices, can be used to speed up scans. A scalar index can speed up scans that contain filter expressions on the indexed column. For example, the following scan will be faster if the columnmy_col has a scalar index:ts const con = await lancedb.connect('./.lancedb'); const table = await con.openTable('images'); const results = await table.where('my_col = 7').execute(); Scalar indices can also speed up scans containing a vector search and a prefilter:ts const con = await lancedb.connect('././lancedb'); const table = await con.openTable('images'); const results = await table.search([1.0, 2.0]).where('my_col != 7').prefilter(true); Scalar indices can only speed up scans for basic filters using equality, comparison, range (e.g.my_col BETWEEN 0 AND 100), and set membership (e.g.my_col IN (0, 1, 2)) Scalar indices can be used if the filter contains multiple indexed columns and the filter criteria are AND'd or OR'd together (e.g.my_col < 0 AND other_col> 100) Scalar indices may be used if the filter contains non-indexed columns but, depending on the structure of the filter, they may not be usable. For example, if the columnnot_indexed does not have a scalar index then the filtermy_col = 0 OR not_indexed = 1 will not be able to use any scalar index onmy_col.
Returns

Promise\<void>

Examples

constcon=awaitlancedb.connect('././lancedb')consttable=awaitcon.openTable('images')awaittable.createScalarIndex('my_col')

Defined in

index.ts:450


delete

delete: (filter:string) =>Promise\<void>

Type declaration

▸ (filter):Promise\<void>

Delete rows from this table.

This can be used to delete a single row, many rows, all rows, orsometimes no rows (if your predicate matches nothing).

Parameters
NameTypeDescription
filterstringA filter in the same format used by a sql WHERE clause. The filter must not be empty.
Returns

Promise\<void>

Examples

constcon=awaitlancedb.connect("./.lancedb")constdata=[{id:1,vector:[1,2]},{id:2,vector:[3,4]},{id:3,vector:[5,6]},];consttbl=awaitcon.createTable("my_table",data)awaittbl.delete("id = 2")awaittbl.countRows()// Returns 2

If you have a list of values to delete, you can combine them into astringified list and use theIN operator:

constto_remove=[1,5];awaittbl.delete(`id IN (${to_remove.join(",")})`)awaittbl.countRows()// Returns 1

Defined in

index.ts:489


indexStats

indexStats: (indexName:string) =>Promise\<IndexStats>

Type declaration

▸ (indexName):Promise\<IndexStats>

Get statistics about an index.

Parameters
NameType
indexNamestring
Returns

Promise\<IndexStats>

Defined in

index.ts:568


listIndices

listIndices: () =>Promise\<VectorIndex[]>

Type declaration

▸ ():Promise\<VectorIndex[]>

List the indicies on this table.

Returns

Promise\<VectorIndex[]>

Defined in

index.ts:563


mergeInsert

mergeInsert: (on:string,data:Table\<any> |Record\<string,unknown>[],args:MergeInsertArgs) =>Promise\<void>

Type declaration

▸ (on,data,args):Promise\<void>

Runs a "merge insert" operation on the table

This operation can add rows, update rows, and remove rows all in a singletransaction. It is a very generic tool that can be used to createbehaviors like "insert if not exists", "update or insert (i.e. upsert)",or even replace a portion of existing data with new data (e.g. replaceall data where month="january")

The merge insert operation works by combining new data from asource table with existing data in atarget table by using ajoin. There are three categories of records.

"Matched" records are records that exist in both the source table andthe target table. "Not matched" records exist only in the source table(e.g. these are new data) "Not matched by source" records exist onlyin the target table (this is old data)

The MergeInsertArgs can be used to customize what should happen foreach category of data.

Please note that the data may appear to be reordered as part of thisoperation. This is because updated rows will be deleted from thedataset and then reinserted at the end with the new values.

Parameters
NameTypeDescription
onstringa column to join on. This is how records from the source table and target table are matched.
dataTable\<any> |Record\<string,unknown>[]the new data to insert
argsMergeInsertArgsparameters controlling how the operation should behave
Returns

Promise\<void>

Defined in

index.ts:554


name

name:string

Defined in

index.ts:368


overwrite

overwrite: (data:Table\<any> |Record\<string,unknown>[]) =>Promise\<number>

Type declaration

▸ (data):Promise\<number>

Insert records into this Table, replacing its contents.

Parameters
NameTypeDescription
dataTable\<any> |Record\<string,unknown>[]Records to be inserted into the Table
Returns

Promise\<number>

The number of rows added to the table

Defined in

index.ts:390


schema

schema:Promise\<Schema\<any>>

Defined in

index.ts:572


search

search: (query:T) =>Query\<T>

Type declaration

▸ (query):Query\<T>

Creates a search query to find the nearest neighbors of the given search term

Parameters
NameTypeDescription
queryTThe query search term
Returns

Query\<T>

Defined in

index.ts:374


update

update: (args:UpdateArgs |UpdateSqlArgs) =>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, orsometimes no rows (if your predicate matches nothing).

Parameters
NameTypeDescription
argsUpdateArgs |UpdateSqlArgsseeUpdateArgs andUpdateSqlArgs for more details
Returns

Promise\<void>

Examples

constcon=awaitlancedb.connect("./.lancedb")constdata=[{id:1,vector:[3,3],name:'Ye'},{id:2,vector:[4,4],name:'Mike'},];consttbl=awaitcon.createTable("my_table",data)awaittbl.update({where:"id = 2",values:{vector:[2,2],name:"Michael"},})letresults=awaittbl.search([1,1]).execute();// Returns [//   {id: 2, vector: [2, 2], name: 'Michael'}//   {id: 1, vector: [3, 3], name: 'Ye'}// ]

Defined in

index.ts:522

Methods

addColumns

addColumns(newColumnTransforms):Promise\<void>

Add new columns with defined values.

Parameters

NameTypeDescription
newColumnTransforms{name:string ;valueSql:string }[]pairs of column names and the SQL expression to use to calculate the value of the new column. These expressions will be evaluated for each row in the table, and can reference existing columns in the table.

Returns

Promise\<void>

Defined in

index.ts:583


alterColumns

alterColumns(columnAlterations):Promise\<void>

Alter the name or nullability of columns.

Parameters

NameTypeDescription
columnAlterationsColumnAlteration[]One or more alterations to apply to columns.

Returns

Promise\<void>

Defined in

index.ts:592


dropColumns

dropColumns(columnNames):Promise\<void>

Drop one or more columns from the dataset

This is a metadata-only operation and does not remove the data from theunderlying storage. In order to remove the data, you must subsequentlycallcompact_files to rewrite the data without the removed columns andthen callcleanup_files to remove the old files.

Parameters

NameTypeDescription
columnNamesstring[]The names of the columns to drop. These can be nested column references (e.g. "a.b.c") or top-level column names (e.g. "a").

Returns

Promise\<void>

Defined in

index.ts:606


dropIndex

dropIndex(indexName):Promise\<void>

Drop an index from the table

Parameters

NameTypeDescription
indexNamestringThe name of the index to drop

Returns

Promise\<void>

Defined in

index.ts:613


filter

filter(value):Query\<T>

Parameters

NameType
valuestring

Returns

Query\<T>

Defined in

index.ts:570


withMiddleware

withMiddleware(middleware):Table\<T>

Instrument the behavior of this Table with middleware.

The middleware will be called in the order they are added.

Currently this functionality is only supported for remote tables.

Parameters

NameType
middlewareHttpMiddleware

Returns

Table\<T>

  • this Table instrumented by the passed middleware

Defined in

index.ts:625


[8]ページ先頭

©2009-2025 Movatter.jp