From 1c8211c545ccbac13e31097ec8cc63020afea900 Mon Sep 17 00:00:00 2001 From: Lin_qiang <1667704220@qq.com> Date: Sat, 8 Feb 2025 17:50:53 +0800 Subject: [PATCH] =?UTF-8?q?ivfpq=E8=B5=84=E6=96=99=E8=A1=A5=E5=85=A8?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- content/docs-lite/zh/docs/BriefTutorial/PQ.md | 87 ++++++++++++++++-- ...25\346\223\216\345\217\202\346\225\260.md" | 23 +++-- ...21\351\207\217\347\264\242\345\274\225.md" | 24 ++++- content/zh/docs/BriefTutorial/PQ.md | 88 +++++++++++++++++-- ...25\346\223\216\345\217\202\346\225\260.md" | 22 ++++- ...21\351\207\217\347\264\242\345\274\225.md" | 24 ++++- 6 files changed, 240 insertions(+), 28 deletions(-) diff --git a/content/docs-lite/zh/docs/BriefTutorial/PQ.md b/content/docs-lite/zh/docs/BriefTutorial/PQ.md index be00ccfd7..726053390 100644 --- a/content/docs-lite/zh/docs/BriefTutorial/PQ.md +++ b/content/docs-lite/zh/docs/BriefTutorial/PQ.md @@ -5,10 +5,9 @@ 本章节主要介绍openGauss数据库DataVec向量引擎PQ(Product Quantization)特性的安装使用步骤,以指导用户顺利完成操作。本特性将DataVec向量引擎和自研PQ算法相结合,以提高向量检索的查询性能。 >![](public_sys-resources/icon-note.gif) **限制:
** >PQ特性暂时只支持ARM架构环境。
->PQ特性暂时只支持HNSW索引。
->PQ特性暂时只支持vector数据类型,在其他向量数据类型构建HNSWPQ索引会导致执行失败。
+>PQ特性暂时只支持HNSW和IVFFLAT索引。
+>PQ特性暂时只支持vector数据类型,在其他向量数据类型构建HNSWPQ以及IVFPQ索引会导致执行失败。
>在创建PQ索引前需要先插入数据,无数据情况下会创建失败。 - ## 安装准备 ### 获取PQ加速安装包 @@ -16,7 +15,7 @@ ### 配置环境变量 ``` -export DATAVEC_HNSWPQ_LIB_PATH= +export DATAVEC_PQ_LIB_PATH= ``` - `YOUR_SO_PATH`为libkvecturbo.so所在路径 @@ -28,10 +27,10 @@ PQ特性只支持ARM架构环境以及openEuler22.03操作系统。 ## 安装与卸载 ### 启用PQ特性 -设置GUC参数`enable_hnswpq = on`启用PQ特性,详情请参考[DataVec向量引擎参数](../DatabaseReference/DataVec向量引擎参数.md)。 +设置GUC参数`enable_pq = on`启用PQ特性,详情请参考[DataVec向量引擎参数](../DatabaseReference/DataVec向量引擎参数.md)。 ### 关闭PQ特性 -设置GUC参数`enable_hnswpq = off`关闭PQ特性,详情请参考[DataVec向量引擎参数](../DatabaseReference/DataVec向量引擎参数.md)。 +设置GUC参数`enable_pq = off`关闭PQ特性,详情请参考[DataVec向量引擎参数](../DatabaseReference/DataVec向量引擎参数.md)。 ## 使用PQ @@ -96,3 +95,79 @@ openGauss=# CREATE INDEX ON items USING hnsw (embedding vector_l2_ops) WITH (m = - pq_ksub:聚类中心越多,精度越高,但同时性能越低。推荐值为`256`。 - 其余参数设置与[向量索引](../SQLReference/向量索引.md)中HNSW索引中相同。 +### IVFPQ + +``` +openGauss=# CREATE INDEX [INDEX_NAME] +ON [TABLE_NAME] +USING ivfflat (COLUMN_NAME [TYPE]_[DISTANCE_FUN]_ops) +with (lists = , enable_pq = on, pq_m = , pq_ksub = , by_residual = on); +``` + +- `INDEX_NAME` - 索引名称 +- `TABLE_NAME` - 表名 +- `COLUMN_NAME` - 向量数据列名 + +#### IVFPQ索引操作符 + +IVFFLAT索引操作符 `[TYPE]_[DISTANCE_FUN]_ops` 格式: + +- `TYPE` -向量类型 + - vector + +IVFPQ索引执行向量数据维度: +名称 | 维度限制 +--- | --- + vector | 2,000 + +- `DISTANCE_FUN` - 距离函数 + - l2 + - ip + - cosine +#### vector索引操作符 +索引操作符 | operator | 描述 +--- | --- | --- +vector_l2_ops | <->|L2距离 +vector_ip_ops | <#>|内积 +vector_cosine_ops|<=>|余弦距离 + +#### 索引选项 + +- `lists` - 倒排表(单元格)聚类中心数量(默认为100) +- `enable_pq` - 开启pq量化压缩(默认off) +- `pq_m` - 仅在`enable_pq`开启时有效,切分的子空间数量 1~2000(默认为8) +- `pq_ksub` - 仅在`enable_pq`开启时有效,每个子空间的聚类中心数量 1~256 (默认256) +- `by_residual` - 仅在`enable_pq`开启时有效,启用残差运算(默认off) + +**示例:** 使用带残差的L2距离计算创建IVFPQ索引并设置`lists = 200, pq_m = 4, pq_ksub = 256`。 + +``` +openGauss=# CREATE INDEX ON items USING ivfflat (embedding vector_l2_ops) WITH (lists = 200, +enable_pq = on, pq_m = 4, pq_ksub = 256, by_residual = on); +``` + +**设置建议:** + +- pq_m:切分子空间越多,精度越高,同时性能越低。该值需要能整除数据集维度,推荐值为`维度/4`。 +- pq_ksub:聚类中心越多,精度越高,但同时性能越低。推荐值为`256`。 +- by_residual:启动残差计算可以提升精度,但是会增加构建索引的时间。推荐值`off`。 +- 其余参数设置与[向量索引](../SQLReference/向量索引.md)中IVFFLAT索引相同。 + +#### 查询选项 + +- `ivfflat_probe` - 查询时候选集的大小,参见[Datavec向量引擎参数](../DatabaseReference/Datavec向量引擎参数.md)。 + +**示例:** + +``` +openGauss=# SET ivfflat_probes = 10; +``` + +- `ivfpq_kreorder` - 设置参与精排候选集的大小,参见[Datavec向量引擎参数](../DatabaseReference/Datavec向量引擎参数.md)。 + +**示例:** + +``` +openGauss=# SET ivfpq_kreorder = 10; +``` + diff --git "a/content/docs-lite/zh/docs/DatabaseReference/DataVec\345\220\221\351\207\217\345\274\225\346\223\216\345\217\202\346\225\260.md" "b/content/docs-lite/zh/docs/DatabaseReference/DataVec\345\220\221\351\207\217\345\274\225\346\223\216\345\217\202\346\225\260.md" index e9f7dda21..0bc9e3ee8 100644 --- "a/content/docs-lite/zh/docs/DatabaseReference/DataVec\345\220\221\351\207\217\345\274\225\346\223\216\345\217\202\346\225\260.md" +++ "b/content/docs-lite/zh/docs/DatabaseReference/DataVec\345\220\221\351\207\217\345\274\225\346\223\216\345\217\202\346\225\260.md" @@ -30,10 +30,9 @@ >![](public_sys-resources/icon-note.gif) **说明:** > > 较高的值会提升查询的召回率,但同时查询速度会下降。 +## enable_pq -## enable_hnswpq - -**参数说明**: HNSW索引是否开启PQ。 +**参数说明**: 索引是否开启PQ。 该参数属于POSTMASTER类型参数,请参考[表2](../DatabaseAdministrationGuide/重设参数.md#zh-cn_topic_0283137176_zh-cn_topic_0237121562_zh-cn_topic_0059777490_t91a6f212010f4503b24d7943aed6d846)中对应设置方法进行设置。 @@ -43,7 +42,7 @@ >![](public_sys-resources/icon-note.gif) **说明:** > -> 启用PQ功能前,必须安装`libkvecturbo.so`PQ加速安装包,并正确配置`DATAVEC_HNSWPQ_LIB_PATH`环境变量。否则数据库将无法正常启动。 +> 启用PQ功能前,必须安装`libkvecturbo.so`PQ加速安装包,并正确配置`DATAVEC_PQ_LIB_PATH`环境变量。否则数据库将无法正常启动。 ## hnsw_earlystop_threshold @@ -57,4 +56,18 @@ >![](public_sys-resources/icon-note.gif) **说明:** > ->默认值实际是不开启早停策略的状态。较低的值可以提升查询速率,但可能会使召回率降低,如果召回率不够高可以适当调大参数值。 \ No newline at end of file +>默认值实际是不开启早停策略的状态。较低的值可以提升查询速率,但可能会使召回率降低,如果召回率不够高可以适当调大参数值。 + +## ivfpq_kreorder + +**参数说明**: IVFFLAT索引开启PQ时,设置参与精排候选集的大小 + +该参数属于USERSET类型参数,请参考[表1](../DatabaseAdministrationGuide/重设参数.md#zh-cn_topic_0283137176_zh-cn_topic_0237121562_zh-cn_topic_0059777490_t91a6f212010f4503b24d7943aed6d846)中对应设置方法进行设置。 + +**取值范围**: 整型,0~INT_MAX + +**默认值**: 0 + +>![](public_sys-resources/icon-note.gif) **说明:** +> +>默认值是不开启,较高的值会提升查询的召回率,但同时查询速度会下降。推荐值大小为`k*nprobes`,其中`k`为用户查询sql设置的`limit k`。 \ No newline at end of file diff --git "a/content/docs-lite/zh/docs/SQLReference/\345\220\221\351\207\217\347\264\242\345\274\225.md" "b/content/docs-lite/zh/docs/SQLReference/\345\220\221\351\207\217\347\264\242\345\274\225.md" index 6673b999b..56a0c189b 100644 --- "a/content/docs-lite/zh/docs/SQLReference/\345\220\221\351\207\217\347\264\242\345\274\225.md" +++ "b/content/docs-lite/zh/docs/SQLReference/\345\220\221\351\207\217\347\264\242\345\274\225.md" @@ -1,18 +1,28 @@ # 向量索引 -DataVec向量引擎目前支持了[IVFFLAT](#IVFFlat)、[HNSW](#HNSW)及HNSWPQ等算法,基于openGauss中的ASTORE和USTORE存储实现,通过索引结构能够高效地检索出查询结果。 +DataVec向量引擎目前支持了[IVFFLAT](#IVFFlat)、[HNSW](#HNSW)、HNSWPQ以及IVFPQ等算法,基于openGauss中的ASTORE和USTORE存储实现,通过索引结构能够高效地检索出查询结果。 + +向量索引创建语法支持普通索引创建语法中的内容 ## HNSW ``` CREATE INDEX [INDEX_NAME] ON [TABLE_NAME] USING hnsw (COLUMN_NAME [TYPE]_[DISTANCE_FUN]_ops) -with (m=, ef_construction=); +with (m=, ef_construction=) +[TABLESPACE tablespace_name] +[COMMENT text] +[VISIBLE | INVISIBLE] +[WHERE predicate]; ``` - `INDEX_NAME` - 索引名 - `TABLE_NAME` - 表名 - `COLUMN_NAME` - 向量数据列名 +- TABLESPACE - 指定索引的表空间,与[CREATEINDEX ](../SQLReference/CREATE-INDEX.md)相同 +- COMMENT text - 指定索引的注释,与[CREATEINDEX ](../SQLReference/CREATE-INDEX.md)相同 +- VISIBLE|INVISIBLE - 指定索引是否可见,与[CREATEINDEX ](../SQLReference/CREATE-INDEX.md)相同 +- WHERE predicate - 创建一个部分索引,与[CREATEINDEX ](../SQLReference/CREATE-INDEX.md)相同 ### HNSW索引操作符 @@ -85,12 +95,20 @@ openGauss=# SET hnsw_ef_search = 100; CREATE INDEX [INDEX_NAME] ON [TABLE_NAME] USING ivfflat (COLUMN_NAME [TYPE]_[DISTANCE_FUN]_ops) -WITH (lists = ); +WITH (lists = ) +[TABLESPACE tablespace_name] +[COMMENT text] +[VISIBLE | INVISIBLE] +[WHERE predicate]; ``` - `INDEX_NAME` - 索引名 - `TABLE_NAME` - 表名 - `COLUMN_NAME` - 向量数据列名 +- TABLESPACE - 指定索引的表空间,与[CREATEINDEX ](../SQLReference/CREATE-INDEX.md)相同 +- COMMENT text - 指定索引的注释,与[CREATEINDEX ](../SQLReference/CREATE-INDEX.md)相同 +- VISIBLE|INVISIBLE - 指定索引是否可见,与[CREATEINDEX ](../SQLReference/CREATE-INDEX.md)相同 +- WHERE predicate - 创建一个部分索引,与[CREATEINDEX ](../SQLReference/CREATE-INDEX.md)相同 ### IVFFlat索引操作符 diff --git a/content/zh/docs/BriefTutorial/PQ.md b/content/zh/docs/BriefTutorial/PQ.md index 57d66c801..b0a8b990d 100644 --- a/content/zh/docs/BriefTutorial/PQ.md +++ b/content/zh/docs/BriefTutorial/PQ.md @@ -6,10 +6,9 @@ >![](public_sys-resources/icon-note.png) **限制:
** >PQ特性暂时只支持ARM架构环境。
->PQ特性暂时只支持HNSW索引。
->PQ特性暂时只支持vector数据类型,在其他向量数据类型构建HNSWPQ索引会导致执行失败。
+>PQ特性暂时只支持HNSW和IVFFLAT索引。
+>PQ特性暂时只支持vector数据类型,在其他向量数据类型构建HNSWPQ以及IVFPQ索引会导致执行失败。
>在创建PQ索引前需要先插入数据,无数据情况下会创建失败。 - ## 安装准备 ### 获取PQ加速安装包 @@ -17,7 +16,7 @@ ### 配置环境变量 ``` -export DATAVEC_HNSWPQ_LIB_PATH= +export DATAVEC_PQ_LIB_PATH= ``` - `YOUR_SO_PATH`为libkvecturbo.so所在路径 @@ -29,15 +28,15 @@ PQ特性只支持ARM架构环境以及openEuler22.03操作系统。 ## 安装与卸载 ### 启用PQ特性 -设置GUC参数`enable_hnswpq = on`启用PQ特性,详情请参考[DataVec向量引擎参数](../DatabaseReference/DataVec向量引擎参数.md)。 +设置GUC参数`enable_pq = on`启用PQ特性,详情请参考[DataVec向量引擎参数](../DatabaseReference/DataVec向量引擎参数.md)。 ### 关闭PQ特性 -设置GUC参数`enable_hnswpq = off`关闭PQ特性,详情请参考[DataVec向量引擎参数](../DatabaseReference/DataVec向量引擎参数.md)。 +设置GUC参数`enable_pq = off`关闭PQ特性,详情请参考[DataVec向量引擎参数](../DatabaseReference/DataVec向量引擎参数.md)。 ## 使用PQ ### HNSWPQ -``` +``` openGauss=# CREATE INDEX [INDEX_NAME] ON [TABLE_NAME] USING hnsw (COLUMN_NAME [TYPE]_[DISTANCE_FUN]_ops) @@ -97,3 +96,78 @@ openGauss=# CREATE INDEX ON items USING hnsw (embedding vector_l2_ops) WITH (m = - pq_ksub:聚类中心越多,精度越高,但同时性能越低。推荐值为`256`。 - 其余参数设置与[向量索引](../SQLReference/向量索引.md)中HNSW索引中相同。 +### IVFPQ + +``` +openGauss=# CREATE INDEX [INDEX_NAME] +ON [TABLE_NAME] +USING ivfflat (COLUMN_NAME [TYPE]_[DISTANCE_FUN]_ops) +with (lists = , enable_pq = on, pq_m = , pq_ksub = , by_residual = on); +``` + +- `INDEX_NAME` - 索引名称 +- `TABLE_NAME` - 表名 +- `COLUMN_NAME` - 向量数据列名 + +#### IVFPQ索引操作符 + +IVFFLAT索引操作符 `[TYPE]_[DISTANCE_FUN]_ops` 格式: + +- `TYPE` -向量类型 + - vector + +IVFPQ索引执行向量数据维度: +名称 | 维度限制 +--- | --- + vector | 2,000 + +- `DISTANCE_FUN` - 距离函数 + - l2 + - ip + - cosine +#### vector索引操作符 +索引操作符 | operator | 描述 +--- | --- | --- +vector_l2_ops | <->|L2距离 +vector_ip_ops | <#>|内积 +vector_cosine_ops|<=>|余弦距离 + +#### 索引选项 + +- `lists` - 倒排表(单元格)聚类中心数量(默认为100) +- `enable_pq` - 开启pq量化压缩(默认off) +- `pq_m` - 仅在`enable_pq`开启时有效,切分的子空间数量 1~2000(默认为8) +- `pq_ksub` - 仅在`enable_pq`开启时有效,每个子空间的聚类中心数量 1~256 (默认256) +- `by_residual` - 仅在`enable_pq`开启时有效,启用残差运算(默认off) + +**示例:** 使用带残差的L2距离计算创建IVFPQ索引并设置`lists = 200, pq_m = 4, pq_ksub = 256`。 + +``` +openGauss=# CREATE INDEX ON items USING ivfflat (embedding vector_l2_ops) WITH (lists = 200, +enable_pq = on, pq_m = 4, pq_ksub = 256, by_residual = on); +``` + +**设置建议:** + +- pq_m:切分子空间越多,精度越高,同时性能越低。该值需要能整除数据集维度,推荐值为`维度/4`。 +- pq_ksub:聚类中心越多,精度越高,但同时性能越低。推荐值为`256`。 +- by_residual:启动残差计算可以提升精度,但是会增加构建索引的时间。推荐值`off`。 +- 其余参数设置与[向量索引](../SQLReference/向量索引.md)中IVFFLAT索引相同。 + +#### 查询选项 + +- `ivfflat_probe` - 查询时候选集的大小,参见[Datavec向量引擎参数](../DatabaseReference/Datavec向量引擎参数.md)。 + +**示例:** + +``` +openGauss=# SET ivfflat_probes = 10; +``` + +- `ivfpq_kreorder` - 设置参与精排候选集的大小,参见[Datavec向量引擎参数](../DatabaseReference/Datavec向量引擎参数.md)。 + +**示例:** + +``` +openGauss=# SET ivfpq_kreorder = 10; +``` diff --git "a/content/zh/docs/DatabaseReference/DataVec\345\220\221\351\207\217\345\274\225\346\223\216\345\217\202\346\225\260.md" "b/content/zh/docs/DatabaseReference/DataVec\345\220\221\351\207\217\345\274\225\346\223\216\345\217\202\346\225\260.md" index e5611e0d5..a0fe4bcb4 100644 --- "a/content/zh/docs/DatabaseReference/DataVec\345\220\221\351\207\217\345\274\225\346\223\216\345\217\202\346\225\260.md" +++ "b/content/zh/docs/DatabaseReference/DataVec\345\220\221\351\207\217\345\274\225\346\223\216\345\217\202\346\225\260.md" @@ -30,9 +30,9 @@ >![](public_sys-resources/icon-note.png) **说明:** > > 较高的值会提升查询的召回率,但同时查询速度会下降。 -## enable_hnswpq +## enable_pq -**参数说明**: HNSW索引是否开启PQ。 +**参数说明**: 索引是否开启PQ。 该参数属于POSTMASTER类型参数,请参考[表2](../DatabaseAdministrationGuide/重设参数.md#zh-cn_topic_0283137176_zh-cn_topic_0237121562_zh-cn_topic_0059777490_t91a6f212010f4503b24d7943aed6d846)中对应设置方法进行设置。 @@ -42,7 +42,7 @@ >![](public_sys-resources/icon-note.png) **说明:** > -> 启用PQ功能前,必须安装`libkvecturbo.so`PQ加速安装包,并正确配置`DATAVEC_HNSWPQ_LIB_PATH`环境变量。否则数据库将无法正常启动。 +> 启用PQ功能前,必须安装`libkvecturbo.so`PQ加速安装包,并正确配置`DATAVEC_PQ_LIB_PATH`环境变量。否则数据库将无法正常启动。 ## hnsw_earlystop_threshold @@ -56,4 +56,18 @@ >![](public_sys-resources/icon-note.png) **说明:** > ->默认值实际是不开启早停策略的状态。较低的值可以提升查询速率,但可能会使召回率降低,如果召回率不够高可以适当调大参数值。 \ No newline at end of file +>默认值实际是不开启早停策略的状态。较低的值可以提升查询速率,但可能会使召回率降低,如果召回率不够高可以适当调大参数值。 + +## ivfpq_kreorder + +**参数说明**: IVFFLAT索引开启PQ时,设置参与精排候选集的大小 + +该参数属于USERSET类型参数,请参考[表1](../DatabaseAdministrationGuide/重设参数.md#zh-cn_topic_0283137176_zh-cn_topic_0237121562_zh-cn_topic_0059777490_t91a6f212010f4503b24d7943aed6d846)中对应设置方法进行设置。 + +**取值范围**: 整型,0~INT_MAX + +**默认值**: 0 + +>![](public_sys-resources/icon-note.png) **说明:** +> +>默认值是不开启,较高的值会提升查询的召回率,但同时查询速度会下降。推荐值大小为`k*nprobes`,其中`k`为用户查询sql设置的`limit k`。 \ No newline at end of file diff --git "a/content/zh/docs/SQLReference/\345\220\221\351\207\217\347\264\242\345\274\225.md" "b/content/zh/docs/SQLReference/\345\220\221\351\207\217\347\264\242\345\274\225.md" index 6673b999b..56a0c189b 100644 --- "a/content/zh/docs/SQLReference/\345\220\221\351\207\217\347\264\242\345\274\225.md" +++ "b/content/zh/docs/SQLReference/\345\220\221\351\207\217\347\264\242\345\274\225.md" @@ -1,18 +1,28 @@ # 向量索引 -DataVec向量引擎目前支持了[IVFFLAT](#IVFFlat)、[HNSW](#HNSW)及HNSWPQ等算法,基于openGauss中的ASTORE和USTORE存储实现,通过索引结构能够高效地检索出查询结果。 +DataVec向量引擎目前支持了[IVFFLAT](#IVFFlat)、[HNSW](#HNSW)、HNSWPQ以及IVFPQ等算法,基于openGauss中的ASTORE和USTORE存储实现,通过索引结构能够高效地检索出查询结果。 + +向量索引创建语法支持普通索引创建语法中的内容 ## HNSW ``` CREATE INDEX [INDEX_NAME] ON [TABLE_NAME] USING hnsw (COLUMN_NAME [TYPE]_[DISTANCE_FUN]_ops) -with (m=, ef_construction=); +with (m=, ef_construction=) +[TABLESPACE tablespace_name] +[COMMENT text] +[VISIBLE | INVISIBLE] +[WHERE predicate]; ``` - `INDEX_NAME` - 索引名 - `TABLE_NAME` - 表名 - `COLUMN_NAME` - 向量数据列名 +- TABLESPACE - 指定索引的表空间,与[CREATEINDEX ](../SQLReference/CREATE-INDEX.md)相同 +- COMMENT text - 指定索引的注释,与[CREATEINDEX ](../SQLReference/CREATE-INDEX.md)相同 +- VISIBLE|INVISIBLE - 指定索引是否可见,与[CREATEINDEX ](../SQLReference/CREATE-INDEX.md)相同 +- WHERE predicate - 创建一个部分索引,与[CREATEINDEX ](../SQLReference/CREATE-INDEX.md)相同 ### HNSW索引操作符 @@ -85,12 +95,20 @@ openGauss=# SET hnsw_ef_search = 100; CREATE INDEX [INDEX_NAME] ON [TABLE_NAME] USING ivfflat (COLUMN_NAME [TYPE]_[DISTANCE_FUN]_ops) -WITH (lists = ); +WITH (lists = ) +[TABLESPACE tablespace_name] +[COMMENT text] +[VISIBLE | INVISIBLE] +[WHERE predicate]; ``` - `INDEX_NAME` - 索引名 - `TABLE_NAME` - 表名 - `COLUMN_NAME` - 向量数据列名 +- TABLESPACE - 指定索引的表空间,与[CREATEINDEX ](../SQLReference/CREATE-INDEX.md)相同 +- COMMENT text - 指定索引的注释,与[CREATEINDEX ](../SQLReference/CREATE-INDEX.md)相同 +- VISIBLE|INVISIBLE - 指定索引是否可见,与[CREATEINDEX ](../SQLReference/CREATE-INDEX.md)相同 +- WHERE predicate - 创建一个部分索引,与[CREATEINDEX ](../SQLReference/CREATE-INDEX.md)相同 ### IVFFlat索引操作符 -- Gitee