AI 索引这个能力靠一个独立的检索服务承载:它把字符串字段的去重值建成一张可检索的表,用户写“阿里巴巴”“Mate 40”这类简称时能对上库里存的完整值。私有部署里这个容器不随主 compose 一起装,需要自己加一个服务,再把地址和密钥告诉主服务。 不部署 aisearch,这个能力整体不可用:给字段打开 AI 索引会被拒绝,提示 AI 搜索索引未启用,问数时也不做值匹配。其他功能不受影响。

前置条件

操作步骤

1

加 aisearch 服务

docker-compose.yaml 里加上这个服务:
它只在 Compose 内部网络里被 asktable 访问,不要给它加 ports
2

让主服务用上它

asktable 服务的 environment 里加两个变量,并把新服务写进 depends_on
3

重建容器

4

确认主服务认到了它

看到 AI Search Host : http://asktable-aisearch:7700 说明配好了;显示 AI Search Host : disabled 说明两个变量里有一个是空的。再直接探一下服务本身:

建立与重建索引

两个变量配好只是让能力可用,索引本身要另外建:
  • 逐字段开:左侧主导航 → 「更多」→「数据源」→ 点数据源卡片 → 左侧树选中一张表 → 点字段行展开详情面板 → 左上角 AI 索引开关。开关右侧出现状态图标,绿色对勾表示索引成功,红色叉表示索引失败。
  • 整源构建:数据源页顶栏「设置」→「索引维护」→「构建 Value Index」。触发后后台开始构建,完成后自动生效。
  • 补字段向量:同一分区里的「重建 Embedding」,用于补齐缺失的字段语义向量,和值索引是两件事。
索引由后台任务异步构建,跑在既有的 asktable-redis 队列上,不需要再加组件。

关键约束

出问题怎么判断

下一步