谁能给我一些关于如何使用 c# 语言将大约 1 亿行从 SQL 服务器导入到 Elasticsearch 的指导/示例?
目前我在 c# 中使用 NEST 客户端,但速度很慢( 5k - 10k / Minute ),缓慢看起来更像是来自应用程序而不是 ES。
感谢任何帮助。
谁能给我一些关于如何使用 c# 语言将大约 1 亿行从 SQL 服务器导入到 Elasticsearch 的指导/示例?
目前我在 c# 中使用 NEST 客户端,但速度很慢( 5k - 10k / Minute ),缓慢看起来更像是来自应用程序而不是 ES。
感谢任何帮助。
您可以使用 IndexMany 但如果您只想索引一张表,我认为您可以尝试使用 JDBC 插件。安装后,您可以简单地执行一个 .bat 脚本来索引您的表。
@echo off
set DIR=%~dp0
set LIB=%DIR%..\lib\*
set BIN=%DIR%..\bin
REM ???
echo {^
"type" : "jdbc",^
"jdbc" : {^
"url" : "jdbc:sqlserver://localhost:25488;instanceName=SQLEXPRESS;databaseName=AdventureWorks2014",^
"user" : "hintdesk",^
"password" : "123456",^
"sql" : "SELECT BusinessEntityID as _id, BusinessEntityID, Title, FirstName, MiddleName, LastName FROM Person.Person",^
"treat_binary_as_string" : true,^
"elasticsearch" : {^
"cluster" : "elasticsearch",^
"host" : "localhost",^
"port" : 9200^
},^
"index" : "person",^
"type" : "person"^
}^
}^ | "%JAVA_HOME%\bin\java" -cp "%LIB%" -Dlog4j.configurationFile="%BIN%\log4j2.xml" "org.xbib.tools.Runner" "org.xbib.tools.JDBCImporter"