📣 【Workshop 上海站 7月10日】Coco AI - 赋能企业搜索,打造专属智能助手 👉 : 活动免费,立即报名
私有知识库 Coco AI 实战(二):摄入MongoDB 数据
Coco AI
2025-06-17

在之前的文章中,我们介绍过如何使用 《 Logstash 迁移 MongoDB 数据到 Easyseach》,既然 Coco AI 后台数据存储也使用 Easysearch,我们能否直接把 MongoDB 的数据迁移到 Coco AI 的 Easysearch,使用 Coco AI 对数据进行检索呢?You got it !

Connector #

Coco AI 的 Connector 支持通过两种方式创建:API 接口或管理平台。相信已经完成 《私有知识库 Coco AI 实战(一)》的小伙伴已经有 Coco AI 的管理平台了,下面我们将通过管理平台创建 Connector,如需要通过 API 方式创建,请参考 文档

登录管理平台,设置 -> Connector -> 新增

Datasource #

数据源 -> 新增 -> MongoDB

记录上面的 Datasource ID: d037kjj75bvg264k5pe0, logstash 配置中要用。

Easysearch #

由于是使用 Logstash 连接 Easysearch,要开启兼容模式,编辑 easysearch.yml,详情请查阅 《如何使用 Logstash 8 连接 Easysearch》

elasticsearch.api_compatibility: true
elasticsearch.api_compatibility_version: "8.9.0"

Logstash #

我们在上次 Logstash 迁移 MongoDB 数据的配置上稍作修改,增加文档 source 信息,写入 coco_document 索引。

input {
  jdbc{
    jdbc_driver_class => "Java::com.wisecoders.dbschema.mongodb.JdbcDriver"
    jdbc_driver_library => "/usr/share/logstash/driver/mongojdbc4.8.3.jar"
    jdbc_user => "user"
    jdbc_password => "pwd"
    jdbc_connection_string => "jdbc:mongodb://localhost:27017/test"
    statement => "db.collection_test.find({},{'_id': false})"
  }
}

filter {
    mutate {
        rename => {
            "[document][tags]" => "tags"
            "[document][summary]" => "summary"
            "[document][username]" => "owner.username"
            "[document][content]" => "content"
            "[document][category]" => "category"
            "[document][created]" => "created"
            "[document][url]" => "url"
            "[document][id]" => "id"
            "[document][title]" => "title"
        }
        remove_field => [ "document","@timestamp","@version" ]
        add_field => {
            "[source][type]" => "connector"
            "[source][name]" => "MongoDB Datasource"
            "[source][id]" => "d037kjj75bvg264k5pe0" 
        }
    }
}

output {
    #stdout { }
    elasticsearch {
        hosts => ["https://127.0.0.1:9200"]
        index => "coco_document"
        manage_template => false
        ssl_verification_mode => none
        user => "admin"
        password => "coco-server"
    }
}

数据迁移完后,测试能否搜索到文档。

如有问题,欢迎加我微信沟通。

标签
Coco AI x
Easysearch x
Gateway x
Console x
Loadgen x
开源 x