私有知识库 Coco AI 实战(二):摄入 MongoDB 数据

在之前的文章中,我们介绍过如何使用《 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

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"
    }
}

测试能否搜索到文档。

相关推荐
合作小小程序员小小店5 分钟前
桌面开发,超市管理系统开发,基于C#,winform,sql server数据库
开发语言·数据库·sql·microsoft·sqlserver·c#
可观测性用观测云5 分钟前
观测云 MCP Server 接入和使用最佳实践
人工智能
掘金一周11 分钟前
大部分人都错了!这才是chrome插件多脚本通信的正确姿势 | 掘金一周 11.27
前端·人工智能·后端
quweiie12 分钟前
thinkphp8.0链接SQL SERVER2022数据库
数据库·sqlserver·thinkphp
xier_ran32 分钟前
深度学习:生成对抗网络(GAN)详解
人工智能·深度学习·机器学习·gan
ModestCoder_41 分钟前
ROS Bag与导航数据集技术指南
开发语言·人工智能·自然语言处理·机器人·具身智能
Databend1 小时前
如何打造AI时代的数据基石 | Databend Meetup 上海站
数据库
海边夕阳20061 小时前
【每天一个AI小知识】:什么是循环神经网络?
人工智能·经验分享·rnn·深度学习·神经网络·机器学习
2501_918126911 小时前
如何用ai做开发
人工智能
f***a3461 小时前
开源模型应用落地-工具使用篇-Spring AI-高阶用法(九)
人工智能·spring·开源