> ## Documentation Index
> Fetch the complete documentation index at: https://docs.asktable.com/llms.txt
> Use this file to discover all available pages before exploring further.

# AI 搜索（值索引）

> AI 搜索（值索引）是私有部署里的可选组件，靠 aisearch 搜索引擎把字段值建成索引，让用简称提问也能命中数据库里存的完整值。本页说明如何在 compose 里启用。

AskTable 的 **AI 搜索（值索引）** 是私有部署里的**可选组件**，为「[AI 索引](/concepts/data/ai-search)」这个能力提供后端支撑：它把表里字符串字段的**去重值**建成索引，用户用简称或口语（"阿里巴巴"、"Mate 40"）提问时，自动匹配到数据库里真实存的完整值，生成正确的查询条件。

底层由 **aisearch** 搜索引擎承载。**不部署 aisearch 时这个功能整体不可用**——控制台里给字段开「AI 索引」会提示未启用，问数时也不会做值匹配（其它功能不受影响）。

## 在 compose 里启用

分两步：加一个 aisearch 服务，再把它的地址和密钥告诉 `asktable`。

### 1. 加 aisearch 服务

给 [私有部署](/deploy/docker) 的 `docker-compose.yaml` 加上这个服务：

```yaml theme={null}
services:
  # aisearch 搜索引擎（可选）：值索引的存储与检索
  asktable-aisearch:
    image: registry.cn-shanghai.aliyuncs.com/dminfra/aisearch:v1.12.8
    container_name: asktable-aisearch
    restart: unless-stopped
    environment:
      MEILI_MASTER_KEY: asktable-aisearch-master-key   # 【建议修改】至少 16 字节
      MEILI_ENV: production                            # 生产模式：强制鉴权、关闭搜索预览页
      MEILI_NO_ANALYTICS: "true"                       # 关闭遥测上报
    volumes:
      - ./aisearch_data:/meili_data                    # 索引数据持久化（引擎数据目录）
```

它只在 compose 内部网络里被 `asktable` 访问，**不用对外暴露端口**。

### 2. 让 asktable 用上它

在 `asktable` 服务的 `environment` 里加两个变量，并在 `depends_on` 里加上它：

```yaml theme={null}
services:
  asktable:
    depends_on:
      - asktable-aisearch          # 追加这一行
    environment:
      AISEARCH_HOST: http://asktable-aisearch:7700
      AISEARCH_MASTER_KEY: asktable-aisearch-master-key   # 必须与上面 MEILI_MASTER_KEY 完全一致
```

<Warning>
  `AISEARCH_MASTER_KEY` 必须和上面 aisearch 的 `MEILI_MASTER_KEY` **一字不差**，否则 asktable 连不上，功能仍然不可用。生产环境务必把示例里的默认密钥换成自己的随机串（`MEILI_ENV: production` 下密钥至少 16 字节，否则 aisearch 拒绝启动）。
</Warning>

改完执行 `docker compose up -d` 生效。

## 建立与重建索引

两个环境变量配好后，AI 搜索才真正启用。索引由后台任务异步构建，跑在既有的 `asktable-redis` 队列上，无需额外组件：

* **逐字段开关**：进数据源的**数据概览**标签页，选中一张表，在字段表格的「AI 索引」列逐个开启——用法和统计详情见 [AI 索引](/concepts/data/ai-search)。
* **整源构建 / 重建**：需要一次性为某个数据源重建全部值索引时，在数据源页点「构建 Value Index」即可。

<Note>
  默认只为**短文本字符串字段**建索引（长文本、日期、数字不建）。单个数据源可建值索引的字段数有上限（默认 10 个），可在管理后台调整；单字段保留的去重值数量也有上限。这些限制是为了避免索引过多拖慢系统、引入噪音。
</Note>

aisearch 自包含、运行期不外呼，适合完全离线 / 内网部署。

## 下一步

* [AI 索引](/concepts/data/ai-search) — 这个功能怎么用、字段怎么选
* [私有部署（Docker）](/deploy/docker) — 部署 AskTable 本体
