在之前的文章中,我們介紹過如何使用《 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
測試能否搜索到文檔。