当前位置: 首页 > news >正文

私有知识库 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 => falsessl_verification_mode => noneuser => "admin"password => "coco-server"}
}

Coco search

测试能否搜索到文档。

相关文章:

  • 【问题解决】本机navicat连接云服务器mysql
  • 工作记录9
  • 【Pandas】pandas DataFrame mod
  • 【复盘】cpu飙升引发的连锁反应
  • JDK 7 Update 0 (64位) 详细Windows 安装指南
  • 每日一题(小白)模拟娱乐篇33
  • Java 拦截器完全指南:原理、实战与最佳实践
  • Chronos - 时间序列预测语言模型
  • Redis从入门到实战先导篇
  • Jsoup、Selenium 和 Playwright 的含义、作用和区别
  • 【C/S通信仿真】
  • 17.QT-Qt窗口-工具栏|状态栏|浮动窗口|设置停靠位置|设置浮动属性|设置移动属性|拉伸系数|添加控件(C++)
  • 软件黑盒与白盒测试详解
  • 大厂Java面试:JVM调优与问题定位
  • 我的独立开发技术栈
  • Kotlin中实现静态
  • 深入解析C++ STL Queue:先进先出的数据结构
  • IMU---MPU6050
  • 数据结构-链表
  • 基于stm32的智能门锁系统
  • 最高检发布知识产权检察白皮书,“知识产权检察厅”同日亮相
  • 外汇局:4月以来外汇市场交易保持平稳,跨境资金延续净流入
  • 西安雁塔区委书记王征拟任市领导班子副职,曾从浙江跨省调任陕西
  • 吕治国执掌全国唯一的热带海洋大学,曾从教育部“空降”海南
  • 轻流科技薄智元:AI时代,打造“工业智造”需要“共生式进化”
  • 一图看懂|特朗普政府VS美国顶尖高校:这场风暴如何刮起?