mirror of
https://github.com/lancedb/lancedb.git
synced 2026-07-05 12:00:39 +00:00
## Summary Surfaces the rich per-index metadata added in #3497 to the Python and Node.js language bindings. Closes #3495. New optional fields exposed on `IndexConfig` in both bindings: - `index_uuid` / `indexUuid` — UUID of the first index segment - `type_url` / `typeUrl` — protobuf type URL for the index - `created_at` / `createdAt` — creation timestamp (milliseconds since Unix epoch) - `num_indexed_rows` / `numIndexedRows` — rows covered by the index - `num_unindexed_rows` / `numUnindexedRows` — rows not yet indexed - `size_bytes` / `sizeBytes` — total index file size in bytes - `num_segments` / `numSegments` — number of index segments - `index_version` / `indexVersion` — on-disk format version - `index_details` / `indexDetails` — type-specific JSON details string All fields are `None`/`undefined` for remote tables (which don't yet surface this metadata through the server response). ## Changes - `python/src/index.rs`: extend `IndexConfig` pyclass; update `From` impl; update `__getitem__` - `python/python/lancedb/_lancedb.pyi`: add type hints for new fields - `python/python/tests/test_table.py`: new `test_index_config_fields` test - `nodejs/src/table.rs`: extend `IndexConfig` napi struct; update `From` impl - `nodejs/__test__/table.test.ts`: new test; update existing `toEqual` assertions to `expect.objectContaining` to accommodate new fields ## Test plan - [x] Python: `uv run --extra tests pytest python/tests/test_table.py::test_index_config_fields` - [x] Node.js: `pnpm test __test__/table.test.ts` 🤖 Generated with [Claude Code](https://claude.com/claude-code) --------- Co-authored-by: Claude Sonnet 4.6 <noreply@anthropic.com>
152 lines
2.0 KiB
Markdown
152 lines
2.0 KiB
Markdown
[**@lancedb/lancedb**](../README.md) • **Docs**
|
|
|
|
***
|
|
|
|
[@lancedb/lancedb](../globals.md) / IndexConfig
|
|
|
|
# Interface: IndexConfig
|
|
|
|
A description of an index currently configured on a column
|
|
|
|
## Properties
|
|
|
|
### columns
|
|
|
|
```ts
|
|
columns: string[];
|
|
```
|
|
|
|
The columns in the index
|
|
|
|
Currently this is always an array of size 1. In the future there may
|
|
be more columns to represent composite indices.
|
|
|
|
***
|
|
|
|
### createdAt?
|
|
|
|
```ts
|
|
optional createdAt: Date;
|
|
```
|
|
|
|
When the index was created.
|
|
|
|
`undefined` for remote tables or indices created before timestamps were tracked.
|
|
|
|
***
|
|
|
|
### indexDetails?
|
|
|
|
```ts
|
|
optional indexDetails: any;
|
|
```
|
|
|
|
Index-type-specific details parsed as a JavaScript object.
|
|
|
|
Falls back to a raw string if JSON parsing fails. `undefined` for
|
|
remote tables or when details are unavailable.
|
|
|
|
***
|
|
|
|
### indexType
|
|
|
|
```ts
|
|
indexType: string;
|
|
```
|
|
|
|
The type of the index
|
|
|
|
***
|
|
|
|
### indexUuid?
|
|
|
|
```ts
|
|
optional indexUuid: string;
|
|
```
|
|
|
|
The UUID of the first segment of the index.
|
|
|
|
`undefined` for remote tables, which do not yet surface this.
|
|
|
|
***
|
|
|
|
### indexVersion?
|
|
|
|
```ts
|
|
optional indexVersion: number;
|
|
```
|
|
|
|
The on-disk index format version.
|
|
|
|
`undefined` for remote tables.
|
|
|
|
***
|
|
|
|
### name
|
|
|
|
```ts
|
|
name: string;
|
|
```
|
|
|
|
The name of the index
|
|
|
|
***
|
|
|
|
### numIndexedRows?
|
|
|
|
```ts
|
|
optional numIndexedRows: number;
|
|
```
|
|
|
|
The number of rows indexed, across all segments.
|
|
|
|
`undefined` for remote tables.
|
|
|
|
***
|
|
|
|
### numSegments?
|
|
|
|
```ts
|
|
optional numSegments: number;
|
|
```
|
|
|
|
The number of segments that make up the index.
|
|
|
|
`undefined` for remote tables.
|
|
|
|
***
|
|
|
|
### numUnindexedRows?
|
|
|
|
```ts
|
|
optional numUnindexedRows: number;
|
|
```
|
|
|
|
The number of rows not yet covered by this index.
|
|
|
|
`undefined` for remote tables.
|
|
|
|
***
|
|
|
|
### sizeBytes?
|
|
|
|
```ts
|
|
optional sizeBytes: number;
|
|
```
|
|
|
|
The total size in bytes of all index files across all segments.
|
|
|
|
`undefined` for remote tables or indices without size tracking.
|
|
|
|
***
|
|
|
|
### typeUrl?
|
|
|
|
```ts
|
|
optional typeUrl: string;
|
|
```
|
|
|
|
The protobuf type URL, a precise type identifier for the index.
|
|
|
|
`undefined` for remote tables.
|