gpt4 book ai didi

mysql - 从 jdbc elasticsearch river 搜索

转载 作者:行者123 更新时间:2023-11-29 00:05:34 25 4
gpt4 key购买 nike

我正在尝试学习 elasticsearch 并将其连接到 MySQL 数据库。如果我自己使用 elasticsearch,一切正常,但当我试图从数据库中获取数据时,由于某种原因它似乎不起作用。我是 elasticsearch 和 rivers with jdbc 的真正新手,所以我真的无法描述我的问题比这更明确。

为了创建一条河流,我使用了以下命令:

curl -XPUT 'localhost:9200/customertest/customer/_meta' -d '{
"type" : "jdbc",
"jdbc" : {
"url" : "jdbc:mysql://localhost:3306/database",
"user" : "root",
"password" : "root",
"sql" : "select * from customers"
}
}'

运行时:

curl -XGET 'localhost:9200/customertest/_search?pretty&q=*'

我得到以下答案:

{
"took" : 2,
"timed_out" : false,
"_shards" : {
"total" : 5,
"successful" : 5,
"failed" : 0
},
"hits" : {
"total" : 1,
"max_score" : 1.0,
"hits" : [ {
"_index" : "customertest",
"_type" : "customer",
"_id" : "_meta",
"_score" : 1.0,
"_source":{
"type" : "jdbc",
"jdbc" : {
"url" : "jdbc:mysql://localhost:3306/database",
"user" : "root",
"password" : "root",
"sql" : "select * from customers"
}
}
} ]
}
}

有什么想法吗?

最佳答案

看起来您没有根据 docs 进行连接?

不应该是吗(当然假设你有 DB 实际上叫做 database):

curl -XPUT 'localhost:9200/_river/customer/_meta' -d '{
"type" : "jdbc",
"jdbc" : {
"url" : "jdbc:mysql://localhost:3306/database",
"user" : "root",
"password" : "root",
"sql" : "select * from customers"
}
}

然后尝试

curl 'localhost:9200/jdbc/_search'

看看你是否有所成就。

关于mysql - 从 jdbc elasticsearch river 搜索,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27647490/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com