2013-09-27 33 views
0

任何人都可以給我一些方向/示例關於如何從SQL服務器導入約1億行到使用c#語言的Elasticsearch?elasticsearch:從sql導入數據使用c#

目前我在c#中使用的是NEST客戶端,但速度非常慢(5k - 10k /分鐘),緩慢看起來更像是從應用端比ES。

感謝任何幫助。

+0

你能提供(部分)你目前使用的代碼嗎? –

+0

@Alejandro你應該使用IndexMany方法。 client.IndexMany(緩衝液); – Onuralp

回答

0

你可以使用IndexMany,但如果你只想索引一個表,我想你可以嘗試使用JDBC插件。在installation之後,您可以簡單地執行一個.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" 
相關問題