Skip to content

Commit

Permalink
*: add a vector-search directory and update links (#19469) (#19470)
Browse files Browse the repository at this point in the history
  • Loading branch information
ti-chi-bot authored Jan 3, 2025
1 parent 80aacea commit b29d545
Show file tree
Hide file tree
Showing 22 changed files with 84 additions and 84 deletions.
30 changes: 15 additions & 15 deletions TOC.md
Original file line number Diff line number Diff line change
Expand Up @@ -78,23 +78,23 @@
- [Stale Read](/develop/dev-guide-use-stale-read.md)
- [HTAP 查询](/develop/dev-guide-hybrid-oltp-and-olap-queries.md)
- 向量搜索
- [概述](/vector-search-overview.md)
- [概述](/vector-search/vector-search-overview.md)
- 快速入门
- [使用 SQL 开始向量搜索](/vector-search-get-started-using-sql.md)
- [使用 Python 开始向量搜索](/vector-search-get-started-using-python.md)
- [使用 SQL 开始向量搜索](/vector-search/vector-search-get-started-using-sql.md)
- [使用 Python 开始向量搜索](/vector-search/vector-search-get-started-using-python.md)
- 集成
- [集成概览](/vector-search-integration-overview.md)
- [集成概览](/vector-search/vector-search-integration-overview.md)
- AI 框架
- [LlamaIndex](/vector-search-integrate-with-llamaindex.md)
- [Langchain](/vector-search-integrate-with-langchain.md)
- [LlamaIndex](/vector-search/vector-search-integrate-with-llamaindex.md)
- [Langchain](/vector-search/vector-search-integrate-with-langchain.md)
- 嵌入模型/服务
- [Jina AI](/vector-search-integrate-with-jinaai-embedding.md)
- [Jina AI](/vector-search/vector-search-integrate-with-jinaai-embedding.md)
- ORM 库
- [SQLAlchemy](/vector-search-integrate-with-sqlalchemy.md)
- [peewee](/vector-search-integrate-with-peewee.md)
- [Django](/vector-search-integrate-with-django-orm.md)
- [优化搜索性能](/vector-search-improve-performance.md)
- [使用限制](/vector-search-limitations.md)
- [SQLAlchemy](/vector-search/vector-search-integrate-with-sqlalchemy.md)
- [peewee](/vector-search/vector-search-integrate-with-peewee.md)
- [Django](/vector-search/vector-search-integrate-with-django-orm.md)
- [优化搜索性能](/vector-search/vector-search-improve-performance.md)
- [使用限制](/vector-search/vector-search-limitations.md)
- 事务
- [概览](/develop/dev-guide-transaction-overview.md)
- [乐观事务和悲观事务](/develop/dev-guide-optimistic-and-pessimistic-transaction.md)
Expand Down Expand Up @@ -895,7 +895,7 @@
- [日期和时间类型](/data-type-date-and-time.md)
- [字符串类型](/data-type-string.md)
- [JSON 类型](/data-type-json.md)
- [向量数据类型](/vector-search-data-types.md)
- [向量数据类型](/vector-search/vector-search-data-types.md)
- 函数与操作符
- [函数与操作符概述](/functions-and-operators/functions-and-operators-overview.md)
- [表达式求值的类型转换](/functions-and-operators/type-conversion-in-expression-evaluation.md)
Expand All @@ -909,7 +909,7 @@
- [加密和压缩函数](/functions-and-operators/encryption-and-compression-functions.md)
- [锁函数](/functions-and-operators/locking-functions.md)
- [信息函数](/functions-and-operators/information-functions.md)
- [向量函数和操作符](/vector-search-functions-and-operators.md)
- [向量函数和操作符](/vector-search/vector-search-functions-and-operators.md)
- JSON 函数
- [概览](/functions-and-operators/json-functions.md)
- [创建 JSON 的函数](/functions-and-operators/json-functions/json-functions-create.md)
Expand All @@ -930,7 +930,7 @@
- [TiDB 特有的函数](/functions-and-operators/tidb-functions.md)
- [Oracle 与 TiDB 函数和语法差异对照](/oracle-functions-to-tidb.md)
- [聚簇索引](/clustered-indexes.md)
- [向量索引](/vector-search-index.md)
- [向量索引](/vector-search/vector-search-index.md)
- [约束](/constraints.md)
- [生成列](/generated-columns.md)
- [SQL 模式](/sql-mode.md)
Expand Down
8 changes: 4 additions & 4 deletions basic-features.md
Original file line number Diff line number Diff line change
Expand Up @@ -25,15 +25,15 @@ summary: 了解 TiDB 的功能概览。
| [日期和时间类型](/data-type-date-and-time.md) | Y | Y | Y | Y | Y | Y | Y | Y | Y | Y |
| [字符串类型](/data-type-string.md) | Y | Y | Y | Y | Y | Y | Y | Y | Y | Y |
| [JSON 类型](/data-type-json.md) | Y | Y | Y | Y | Y | E | E | E | E | E |
| [向量数据类型](/vector-search-data-types.md) | E | N | N | N | N | N | N | N | N | N |
| [向量数据类型](/vector-search/vector-search-data-types.md) | E | N | N | N | N | N | N | N | N | N |
| [控制流程函数](/functions-and-operators/control-flow-functions.md) | Y | Y | Y | Y | Y | Y | Y | Y | Y | Y |
| [字符串函数](/functions-and-operators/string-functions.md) | Y | Y | Y | Y | Y | Y | Y | Y | Y | Y |
| [数值函数与操作符](/functions-and-operators/numeric-functions-and-operators.md) | Y | Y | Y | Y | Y | Y | Y | Y | Y | Y |
| [日期和时间函数](/functions-and-operators/date-and-time-functions.md)| Y | Y | Y | Y | Y | Y | Y | Y | Y | Y |
| [位函数和操作符](/functions-and-operators/bit-functions-and-operators.md) | Y | Y | Y | Y | Y | Y | Y | Y | Y | Y |
| [Cast 函数和操作符](/functions-and-operators/cast-functions-and-operators.md) | Y | Y | Y | Y | Y | Y | Y | Y | Y | Y |
| [加密和压缩函数](/functions-and-operators/encryption-and-compression-functions.md) | Y | Y | Y | Y | Y | Y | Y | Y | Y | Y |
| [向量函数和操作符](/vector-search-functions-and-operators.md) | E | N | N | N | N | N | N | N | N | N |
| [向量函数和操作符](/vector-search/vector-search-functions-and-operators.md) | E | N | N | N | N | N | N | N | N | N |
| [信息函数](/functions-and-operators/information-functions.md) | Y | Y | Y | Y | Y | Y | Y | Y | Y | Y |
| [JSON 函数](/functions-and-operators/json-functions.md) | Y | Y | Y | Y | Y | E | E | E | E | E |
| [聚合函数](/functions-and-operators/aggregate-group-by-functions.md) | Y | Y | Y | Y | Y | Y | Y | Y | Y | Y |
Expand Down Expand Up @@ -64,7 +64,7 @@ summary: 了解 TiDB 的功能概览。
| [外键约束](/foreign-key.md) | Y | E | E | E | N | N | N | N | N | N |
| [TiFlash 延迟物化](/tiflash/tiflash-late-materialization.md) | Y | Y | Y | Y | N | N | N | N | N | N |
| [全局索引 (Global Index)](/partitioned-table.md#全局索引) | Y | N | N | N | N | N | N | N | N | N |
| [向量索引](/vector-search-index.md) | E | N | N | N | N | N | N | N | N | N |
| [向量索引](/vector-search/vector-search-index.md) | E | N | N | N | N | N | N | N | N | N |

## SQL 语句

Expand Down Expand Up @@ -95,7 +95,7 @@ summary: 了解 TiDB 的功能概览。

| 高级 SQL 功能 | 8.5 | 8.1 | 7.5 | 7.1 | 6.5 | 6.1 | 5.4 | 5.3 | 5.2 | 5.1 |
|---|:---:|:---:|:---:|:---:|:---:|:---:|:---:|:---:|:---:|:---:|
| [向量搜索](/vector-search-overview.md) | E | N | N | N | N | N | N | N | N | N |
| [向量搜索](/vector-search/vector-search-overview.md) | E | N | N | N | N | N | N | N | N | N |
| [Prepare 语句执行计划缓存](/sql-prepared-plan-cache.md) | Y | Y | Y | Y | Y | Y | Y | Y | E | E |
| [非 Prepare 语句执行计划缓存](/sql-non-prepared-plan-cache.md) | Y | Y | Y | E | N | N | N | N | N | N |
| [实例级执行计划缓存](/system-variables.md#tidb_enable_instance_plan_cache-从-v840-版本开始引入) | E | N | N | N | N | N | N | N | N | N |
Expand Down
2 changes: 1 addition & 1 deletion br/backup-and-restore-overview.md
Original file line number Diff line number Diff line change
Expand Up @@ -119,7 +119,7 @@ TiDB 支持将数据备份到 Amazon S3、Google Cloud Storage (GCS)、Azure Blo
| 全局临时表 | | 确保使用 BR v5.3.0 及以上版本进行备份和恢复,否则会导致全局临时表的表定义错误。 |
| TiDB Lightning 物理导入模式| |上游数据库使用 TiDB Lightning 物理导入模式导入的数据,无法作为数据日志备份下来。推荐在数据导入后执行一次全量备份,细节参考[上游数据库使用 TiDB Lightning 物理导入模式导入数据的恢复](/faq/backup-and-restore-faq.md#上游数据库使用-tidb-lightning-物理导入模式导入数据时为什么无法使用日志备份功能)|
| TiCDC | | BR v8.2.0 及以上版本:如果在恢复的目标集群有 [CheckpointTS](/ticdc/ticdc-architecture.md#checkpointts) 早于 BackupTS 的 Changefeed,BR 会拒绝执行恢复。BR v8.2.0 之前的版本:如果在恢复的目标集群有任何活跃的 TiCDC Changefeed,BR 会拒绝执行恢复。 |
| 向量搜索 | | 确保使用 BR v8.4.0 及以上版本进行备份与恢复。不支持将带有[向量数据类型](/vector-search-data-types.md)的表恢复至 v8.4.0 之前的 TiDB 集群。 |
| 向量搜索 | | 确保使用 BR v8.4.0 及以上版本进行备份与恢复。不支持将带有[向量数据类型](/vector-search/vector-search-data-types.md)的表恢复至 v8.4.0 之前的 TiDB 集群。 |

### 版本间兼容性

Expand Down
6 changes: 3 additions & 3 deletions releases/release-8.4.0.md
Original file line number Diff line number Diff line change
Expand Up @@ -200,13 +200,13 @@ TiDB 版本:8.4.0

向量搜索是一种基于数据语义的搜索方法,可以提供更相关的搜索结果。作为 AI 和大语言模型 (LLM) 的核心功能之一,向量搜索可用于检索增强生成 (Retrieval-Augmented Generation, RAG)、语义搜索、推荐系统等多种场景。

从 v8.4.0 开始,TiDB 支持[向量数据类型](/vector-search-data-types.md)[向量搜索索引](/vector-search-index.md),具备强大的向量搜索能力。TiDB 的向量数据类型最多可支持 16383 维度,并支持多种[距离函数](/vector-search-functions-and-operators.md#向量函数),包括 L2 距离(欧式距离)、余弦距离、负内积和 L1 距离(曼哈顿距离)。
从 v8.4.0 开始,TiDB 支持[向量数据类型](/vector-search/vector-search-data-types.md)[向量搜索索引](/vector-search/vector-search-index.md),具备强大的向量搜索能力。TiDB 的向量数据类型最多可支持 16383 维度,并支持多种[距离函数](/vector-search/vector-search-functions-and-operators.md#向量函数),包括 L2 距离(欧式距离)、余弦距离、负内积和 L1 距离(曼哈顿距离)。

在使用时,你只需要创建包含向量数据类型的表,并插入向量数据,即可执行向量搜索查询,也可进行向量数据与传统关系数据的混合查询。

此外,你可以创建并利用[向量搜索索引](/vector-search-index.md)来提升向量搜索的性能。需要注意的是,TiDB 的向量搜索索引依赖于 TiFlash。在使用向量搜索索引之前,需要确保 TiDB 集群中已部署 TiFlash 节点。
此外,你可以创建并利用[向量搜索索引](/vector-search/vector-search-index.md)来提升向量搜索的性能。需要注意的是,TiDB 的向量搜索索引依赖于 TiFlash。在使用向量搜索索引之前,需要确保 TiDB 集群中已部署 TiFlash 节点。

更多信息,请参考[用户文档](/vector-search-overview.md)
更多信息,请参考[用户文档](/vector-search/vector-search-overview.md)

### 数据库管理

Expand Down
2 changes: 1 addition & 1 deletion ticdc/ticdc-compatibility.md
Original file line number Diff line number Diff line change
Expand Up @@ -77,7 +77,7 @@ TiCDC 从 v5.3.0 开始支持[全局临时表](/temporary-tables.md#全局临时

### 向量数据类型兼容性说明

从 v8.4.0 开始,TiCDC 支持同步包含[向量数据类型](/vector-search-data-types.md)的表到下游(实验特性)。
从 v8.4.0 开始,TiCDC 支持同步包含[向量数据类型](/vector-search/vector-search-data-types.md)的表到下游(实验特性)。

当下游为 Kafka 或者存储服务(如:Amazon S3、GCS、Azure Blob Storage 和 NFS)时,TiCDC 会将向量数据类型转为字符串类型进行写入。

Expand Down
2 changes: 1 addition & 1 deletion tiflash-upgrade-guide.md
Original file line number Diff line number Diff line change
Expand Up @@ -120,7 +120,7 @@ TiFlash 在 v6.2.0 将数据格式升级到 V3 版本,因此,从 v5.x 或 v6

## 从 v7.x 升级至 v8.4 或以上版本

从 v8.4 开始,为了支持[向量搜索功能](/vector-search-index.md),TiFlash 底层存储格式发生改动。因此,升级 TiFlash 到 v8.4 或以上版本后,不支持原地降级到之前的版本。
从 v8.4 开始,为了支持[向量搜索功能](/vector-search/vector-search-index.md),TiFlash 底层存储格式发生改动。因此,升级 TiFlash 到 v8.4 或以上版本后,不支持原地降级到之前的版本。

**测试环境及特殊回退需求下的对策**

Expand Down
2 changes: 1 addition & 1 deletion tiflash/tiflash-supported-pushdown-calculations.md
Original file line number Diff line number Diff line change
Expand Up @@ -37,7 +37,7 @@ TiFlash 支持部分算子的下推,支持的算子如下:
| [正则函数和算子](/functions-and-operators/string-functions.md) | `REGEXP`, `REGEXP_LIKE()`, `REGEXP_INSTR()`, `REGEXP_SUBSTR()`, `REGEXP_REPLACE()`, `RLIKE` |
| [日期函数](/functions-and-operators/date-and-time-functions.md) | `DATE_FORMAT()`, `TIMESTAMPDIFF()`, `FROM_UNIXTIME()`, `UNIX_TIMESTAMP(int)`, `UNIX_TIMESTAMP(decimal)`, `STR_TO_DATE(date)`, `STR_TO_DATE(datetime)`, `DATEDIFF()`, `YEAR()`, `MONTH()`, `DAY()`, `EXTRACT(datetime)`, `DATE()`, `HOUR()`, `MICROSECOND()`, `MINUTE()`, `SECOND()`, `SYSDATE()`, `DATE_ADD/ADDDATE(datetime, int)`, `DATE_ADD/ADDDATE(string, int/real)`, `DATE_SUB/SUBDATE(datetime, int)`, `DATE_SUB/SUBDATE(string, int/real)`, `QUARTER()`, `DAYNAME()`, `DAYOFMONTH()`, `DAYOFWEEK()`, `DAYOFYEAR()`, `LAST_DAY()`, `MONTHNAME()`, `TO_SECONDS()`, `TO_DAYS()`, `FROM_DAYS()`, `WEEKOFYEAR()` |
| [JSON 函数](/functions-and-operators/json-functions.md) | `JSON_LENGTH()`, `->`, `->>`, `JSON_EXTRACT()`, `JSON_ARRAY()`, `JSON_DEPTH()`, `JSON_VALID()`, `JSON_KEYS()`, `JSON_CONTAINS_PATH()`, `JSON_UNQUOTE()` |
| [向量函数](/vector-search-functions-and-operators.md) | `VEC_L2_DISTANCE`, `VEC_COSINE_DISTANCE`, `VEC_NEGATIVE_INNER_PRODUCT`, `VEC_L1_DISTANCE`, `VEC_DIMS`, `VEC_L2_NORM`, `VEC_AS_TEXT` |
| [向量函数](/vector-search/vector-search-functions-and-operators.md) | `VEC_L2_DISTANCE`, `VEC_COSINE_DISTANCE`, `VEC_NEGATIVE_INNER_PRODUCT`, `VEC_L1_DISTANCE`, `VEC_DIMS`, `VEC_L2_NORM`, `VEC_AS_TEXT` |
| [转换函数](/functions-and-operators/cast-functions-and-operators.md) | `CAST(int AS DOUBLE), CAST(int AS DECIMAL)`, `CAST(int AS STRING)`, `CAST(int AS TIME)`, `CAST(double AS INT)`, `CAST(double AS DECIMAL)`, `CAST(double AS STRING)`, `CAST(double AS TIME)`, `CAST(string AS INT)`, `CAST(string AS DOUBLE), CAST(string AS DECIMAL)`, `CAST(string AS TIME)`, `CAST(decimal AS INT)`, `CAST(decimal AS STRING)`, `CAST(decimal AS TIME)`, `CAST(decimal AS DOUBLE)`, `CAST(time AS INT)`, `CAST(time AS DECIMAL)`, `CAST(time AS STRING)`, `CAST(time AS REAL)`, `CAST(json AS JSON)`, `CAST(json AS STRING)`, `CAST(int AS JSON)`, `CAST(real AS JSON)`, `CAST(decimal AS JSON)`, `CAST(string AS JSON)`, `CAST(time AS JSON)`, `CAST(duration AS JSON)` |
| [聚合函数](/functions-and-operators/aggregate-group-by-functions.md) | `MIN()`, `MAX()`, `SUM()`, `COUNT()`, `AVG()`, `APPROX_COUNT_DISTINCT()`, `GROUP_CONCAT()` |
| [其他函数](/functions-and-operators/miscellaneous-functions.md) | `INET_NTOA()`, `INET_ATON()`, `INET6_NTOA()`, `INET6_ATON()` |
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -18,7 +18,7 @@ summary: 本文介绍 TiDB 的向量数据类型。

与使用 [`JSON`](/data-type-json.md) 类型相比,使用向量类型具有以下优势:

- 支持向量索引。可以通过构建[向量搜索索引](/vector-search-index.md)加速查询。
- 支持向量索引。可以通过构建[向量搜索索引](/vector-search/vector-search-index.md)加速查询。
- 可指定维度。指定一个固定维度后,不符合维度的数据将被阻止写入到表中。
- 存储格式更优。向量数据类型针对向量数据进行了特别优化,在空间利用和性能效率上都优于 `JSON` 类型。

Expand Down Expand Up @@ -57,9 +57,9 @@ ERROR 1105 (HY000): Invalid vector text: [5, ]
ERROR 1105 (HY000): vector has 2 dimensions, does not fit VECTOR(3)
```

关于向量数据类型支持的所有函数和操作符,可参阅[向量函数与操作符](/vector-search-functions-and-operators.md)
关于向量数据类型支持的所有函数和操作符,可参阅[向量函数与操作符](/vector-search/vector-search-functions-and-operators.md)

关于向量搜索索引的更多信息,可参阅[向量搜索索引](/vector-search-index.md)
关于向量搜索索引的更多信息,可参阅[向量搜索索引](/vector-search/vector-search-index.md)

## 混合存储不同维度的向量

Expand All @@ -75,11 +75,11 @@ INSERT INTO vector_table VALUES (1, '[0.3, 0.5, -0.1]'); -- 插入一个 3 维
INSERT INTO vector_table VALUES (2, '[0.3, 0.5]'); -- 插入一个 2 维向量
```

需要注意的是,存储了不同维度向量的列不支持构建[向量搜索索引](/vector-search-index.md),因为只有维度相同的向量之间才能计算向量距离。
需要注意的是,存储了不同维度向量的列不支持构建[向量搜索索引](/vector-search/vector-search-index.md),因为只有维度相同的向量之间才能计算向量距离。

## 比较

向量数据支持[比较运算符](/vector-search-functions-and-operators.md#扩展的内置函数和运算符),例如 `=``!=``<``>``<=``>=` 等。关于向量数据类型支持的所有函数和操作符,可参阅[向量函数与操作符](/vector-search-functions-and-operators.md)
向量数据支持[比较运算符](/vector-search/vector-search-functions-and-operators.md#扩展的内置函数和运算符),例如 `=``!=``<``>``<=``>=` 等。关于向量数据类型支持的所有函数和操作符,可参阅[向量函数与操作符](/vector-search/vector-search-functions-and-operators.md)

比较向量数据类型时,TiDB 会以向量中的各个元素为单位进行依次比较,如:

Expand Down Expand Up @@ -223,7 +223,7 @@ ERROR 1105 (HY000): vectors have different dimensions: 1 and 3
1 row in set (0.01 sec)
```

如需了解其他转换函数,请参阅[向量函数和操作符](/vector-search-functions-and-operators.md)
如需了解其他转换函数,请参阅[向量函数和操作符](/vector-search/vector-search-functions-and-operators.md)

### 向量与其他数据类型之间的转换

Expand All @@ -233,13 +233,13 @@ ERROR 1105 (HY000): vectors have different dimensions: 1 and 3

## 使用限制

有关向量类型的限制,请参阅[向量搜索限制](/vector-search-limitations.md)以及[向量搜索索引的使用限制](/vector-search-index.md#使用限制)
有关向量类型的限制,请参阅[向量搜索限制](/vector-search/vector-search-limitations.md)以及[向量搜索索引的使用限制](/vector-search/vector-search-index.md#使用限制)

## MySQL 兼容性

向量数据类型只在 TiDB 中支持,MySQL 不支持。

## 另请参阅

- [向量函数和操作符](/vector-search-functions-and-operators.md)
- [向量搜索索引](/vector-search-index.md)
- [向量函数和操作符](/vector-search/vector-search-functions-and-operators.md)
- [向量搜索索引](/vector-search/vector-search-index.md)
Loading

0 comments on commit b29d545

Please sign in to comment.