跳转到主要内容
AskTable 的 AI 搜索(值索引) 是私有部署里的可选组件,为「AI 索引」这个能力提供后端支撑:它把表里字符串字段的去重值建成索引,用户用简称或口语(“阿里巴巴”、“Mate 40”)提问时,自动匹配到数据库里真实存的完整值,生成正确的查询条件。 底层由 aisearch 搜索引擎承载。不部署 aisearch 时这个功能整体不可用——控制台里给字段开「AI 索引」会提示未启用,问数时也不会做值匹配(其它功能不受影响)。

在 compose 里启用

分两步:加一个 aisearch 服务,再把它的地址和密钥告诉 asktable

1. 加 aisearch 服务

私有部署docker-compose.yaml 加上这个服务:
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 里加上它:
services:
  asktable:
    depends_on:
      - asktable-aisearch          # 追加这一行
    environment:
      AISEARCH_HOST: http://asktable-aisearch:7700
      AISEARCH_MASTER_KEY: asktable-aisearch-master-key   # 必须与上面 MEILI_MASTER_KEY 完全一致
AISEARCH_MASTER_KEY 必须和上面 aisearch 的 MEILI_MASTER_KEY 一字不差,否则 asktable 连不上,功能仍然不可用。生产环境务必把示例里的默认密钥换成自己的随机串(MEILI_ENV: production 下密钥至少 16 字节,否则 aisearch 拒绝启动)。
改完执行 docker compose up -d 生效。

建立与重建索引

两个环境变量配好后,AI 搜索才真正启用。索引由后台任务异步构建,跑在既有的 asktable-redis 队列上,无需额外组件:
  • 逐字段开关:进数据源的数据概览标签页,选中一张表,在字段表格的「AI 索引」列逐个开启——用法和统计详情见 AI 索引
  • 整源构建 / 重建:需要一次性为某个数据源重建全部值索引时,在数据源页点「构建 Value Index」即可。
默认只为短文本字符串字段建索引(长文本、日期、数字不建)。单个数据源可建值索引的字段数有上限(默认 10 个),可在管理后台调整;单字段保留的去重值数量也有上限。这些限制是为了避免索引过多拖慢系统、引入噪音。
aisearch 自包含、运行期不外呼,适合完全离线 / 内网部署。

下一步