mirror of
https://github.com/lancedb/lancedb.git
synced 2026-10-13 15:22:30 +00:00
- CREATE INDEX: the example left out USING, which the server requires, and the page said SQL cannot choose the algorithm or name the index. USING names the algorithm, the page lists them, and a name before ON is taken where the deployment's configuration allows it. - The search join passed fts() a bare string; fts() takes JSON. - Sampling a subquery's result is refused, so the sampling and subquery pages sample the table inside the subquery, and the refusals list it. - Two unaliased casts in one projection produce the same column name; the example aliases them. - A json_get nested in another json_get is refused. The page shows one level of nesting and json_extract with a JSONPath for deeper values, and corrects what json_extract and json_extract_with_type return.
56 lines
1.7 KiB
Plaintext
56 lines
1.7 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 on a deployment.](/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>
|
|
On a deployment, 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:** `create_ivf_pq`, `create_btree`, `create_fts`, and one
|
|
more per algorithm -- the type names which algorithm is building, not a
|
|
different feature. 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.
|
|
|
|
## 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>
|