mirror of
https://github.com/lancedb/lancedb.git
synced 2026-10-20 10:42:26 +00:00
The existing docs have 254 findings from our shared Vale rules. Contributors would otherwise inherit these when editing the same lines. Clean up the prose across 80 pages: correct product names and a repeated word, simplify a few phrases, and replace dashes with punctuation that fits each sentence. The pinned Vale scan now reports zero findings, with no suppressions.
60 lines
2.0 KiB
Plaintext
60 lines
2.0 KiB
Plaintext
---
|
|
title: "Index"
|
|
sidebarTitle: "Index"
|
|
description: "CREATE INDEX and DROP INDEX: one column, with the algorithm chosen by USING."
|
|
icon: bolt
|
|
keywords: ["create index", "drop index", "sql"]
|
|
---
|
|
|
|
<Badge color="red">Enterprise</Badge> [SQL runs in LanceDB Enterprise.](/sql)
|
|
|
|
## CREATE INDEX {#create}
|
|
|
|
```sql
|
|
CREATE INDEX ON documents USING btree (title)
|
|
CREATE INDEX text_search ON documents USING fts (text)
|
|
```
|
|
|
|
`USING` is required: it names the algorithm. The scalar algorithms are `btree`,
|
|
`bitmap` and `label_list`; `fts` builds a full-text index; and the vector
|
|
algorithms are `ivf_pq`, `ivf_rq`, `ivf_flat`, `ivf_hnsw_sq` and `ivf_hnsw_pq`,
|
|
where the deployment supports them. Index options go in a `WITH (...)` clause.
|
|
|
|
<Note>
|
|
In LanceDB Enterprise, SQL `CREATE INDEX` covers **one column**. A name between
|
|
`INDEX` and `ON` names the index, where the deployment's configuration allows
|
|
it; without one, the server names it after the column, as in `title_idx`. For a
|
|
multi-column index, use the SDK's [`create_index`](/indexing).
|
|
</Note>
|
|
|
|
<Note>
|
|
**Enterprise job type:** `reindex_` followed by the algorithm, such as
|
|
`reindex_btree` or `reindex_ivf_pq`; the name says which algorithm is building,
|
|
not a different feature. An SDK build that must not replace an existing index
|
|
runs as `create_` followed by the algorithm instead. See
|
|
[Build & Repair](/indexing/reindexing).
|
|
</Note>
|
|
|
|
## DROP INDEX {#drop}
|
|
|
|
```sql
|
|
DROP INDEX documents.title_idx
|
|
```
|
|
|
|
Takes the qualified `table.index` name. Find it with the SDK's
|
|
[`list_indices`](/indexing) if you created the index without
|
|
naming it yourself. A deployment builds the index in the background after
|
|
`CREATE INDEX` returns; until that build finishes, the index is not listed and
|
|
`DROP INDEX` reports it as not found.
|
|
|
|
## What to read next {#next}
|
|
|
|
<CardGroup cols={2}>
|
|
<Card title="Indexing" icon="bolt" href="/indexing">
|
|
Choosing an index type from the SDK.
|
|
</Card>
|
|
<Card title="Build & Repair" icon="refresh" href="/indexing/reindexing">
|
|
Keeping an index current as data arrives.
|
|
</Card>
|
|
</CardGroup>
|