我正在测试在instruction之后使用现有SQL表(来自SQL Server)设置ElasticSearch。一切都很好,我已经在一些小桌子上进行了测试,事情就像一个魅力。
现在,当我在一个略大的桌子上测试时,它有2,825,077行。当我使用Sense Chrome插件使用此语句将其加载到ElasticSearch并单击运行:
PUT _river/scorecards_river/_meta
{
"type":"jdbc",
"jdbc": {
"driver":"com.microsoft.sqlserver.jdbc.SQLServerDriver",
"url":"jdbc:sqlserver://SQLSERVERNAME;databaseName=Test",
"user":"username",
"password":"password",
"sql":"select ID as _id, IP as ip from testtable",
"strategy":"simple",
"index": "test",
"type":"product",
"bulk_size":100,
"max_retries":5,
"max_retries_wait":"30s",
"max_bulk_requests":5,
"bulk_flush_interval":"5s"
}
}
在控制台中,它会显示所有BULK插入信息,似乎它会完全加载所有数据。
但是当我在Sense中快速计算时:
GET jdbc/jdbc/_count
它给了我:
{
"count": 1488226,
"_shards": {
"total": 5,
"successful": 5,
"failed": 0
}
}
我无法找到任何有关解释的相关信息,任何人都知道为什么会这样?
一些背景:我在Windows 7上,ES版本是elasticsearch 1.4.2,alsp使用sqljdbc4,elasticsearch-river-jdbc-2.2.3
谢谢,
答案 0 :(得分:1)
事实证明,在删除旧驱动程序并使用最新版本1.4.0.8从here安装新驱动程序后,elasticsearch-river-jdbc版本就出现了问题。它现在成功加载数据。