В моем проекте я используюasticsearch, и мое требование переносить большие данные MySQL в Elasticsearch с помощью плагина Elasticsearch JDBC River. Мне нужно синхронизировать таблицу mysql сasticsearch, поэтому я создаю отображение для индекса реки jdbc.
curl -XPOST http://localhost:9200/city -d '
{
"mappings" : {
"city_type": {
"properties" : {
"domain" : {
"type" : "multi_field",
"fields" : {
"domain" : {
"type" : "string",
"index" : "analyzed"},
"exact" : {
"type" : "string",
"index" : "not_analyzed"}
}
},
"sent_date" : {
"type" : "date",
"format" : "dateOptionalTime"}
}
}
}
}'
После создания сопоставления вasticsearch. Я хочу загрузить данные таблицы MySQL в него. поэтому я использую следующую команду.
curl -XPUT 'localhost:9200/river/city/_meta?pretty' -d '{
"type" : "jdbc",
"jdbc" : {
"url" : "jdbc:mysql://localhost:3306/test",
"user" : "root",
"password" : "root",
"sql" : "select id as _id,id as domain from city;",
"strategy":"oneshot"},
"index" :{
"index" : "city",
"type" : "city_type",
"bulk_size":500
}
}'
Эти запросы успешно выполняются, и после этого запроса, когда я запускаю команду, чтобы найти данные вasticsearch пуст.
http://localhost:9200/river/_search?pretty&q=*
Пожалуйста, проверьте ответ на вышеуказанный запрос Вот. Почему данные не отображаются в запросеasticsearch, пожалуйста, помогите.
Река устарела https://github.com/elastic/elasticsearch/issues/10345 Кстати.
Я очень рекомендую jprante jdbc import, который является автономным java-сервером, позволяющим выполнять необходимые операции. https://github.com/jprante/elasticsearch-jdbc. Это не совсем река, как вы ее определили.
По поводу вашего вопроса, не могли бы вы попробовать HTTP: // локальный: 9200 / _search довольно&д =*? С вашим синтаксисом вы на самом деле ищете данные в индексной реке. Вы должны посмотреть на весь индекс с запросом, который я написал или в индексе города: HTTP: // локальный: 9200 / город / city_type / _search довольно&д =*
Если бы я был на вашем месте, я бы использовал logstash для передачи данных из MySQL в Elastic. River давно устарела, как уже упоминалось @Artholl.
Увидеть https://www.elastic.co/blog/logstash-jdbc-input-plugin