gpt4 book ai didi

elasticsearch - 从 SQL Server 到 ElasticSearch 节点的数据传输

转载 作者:行者123 更新时间:2023-11-29 02:45:24 25 4
gpt4 key购买 nike

我在我的应用程序中使用 Elastic Search 1.7 版本,通过使用河流的概念,我使用以下文章将数据从 SQL Server 填充到 ElasticSearch:https://www.pluralsight.com/blog/it-ops/elasticsearch-and-sql-server

URL: POST http://localhost:9200/_river/my_jdbc_river/_meta

JSON:

{

"type":"jdbc",

"schedule" : "0 0-59 0-23 ? * *",

"jdbc": {

"driver":"com.microsoft.sqlserver.jdbc.SQLServerDriver",

"url":"jdbc:sqlserver://127.0.0.1:1433;databaseName=MyDatabase",

"user":"my_db_user","password":"password",

"sql":"select ID as _id, FirstName, LastName, DateOfBirth from People",

"index":"people",

"type":"person"

}

}

但是在 Elasticsearch 2.0 的文档中它说河流已被弃用。有没有更好的方法可以使用 Elasticsearch 2.0 将数据从 SQL Server 复制到弹性

任何替代的代码示例都会非常有帮助

谢谢

最佳答案

你应该看看这个:https://github.com/jprante/elasticsearch-jdbc/wiki/jdbc-plugin-feeder-mode-as-an-alternative-to-the-deprecated-elasticsearch-river-api

编辑:这就是我所做的,一步一步,将数据从 SQL Server 同步到 ElasticSearch,没有弃用的 river。我是从头开始做的。如果您已经设置了一条河流,您可能已经完成了其中的一些步骤。

    {  "type":"jdbc",
"jdbc":{
"url":"jdbc:sqlserver://localhost:1433;databaseName=test",
"user":"test",
"password":"test",
"sql":"SELECT id as _id, id, name,email FROM test",
"index":"users",
"type":"user",
"autocommit":"true"
}
}
  • 使用以下内容创建 jdb_sqlserver.ps1 文件:
function Get-PSVersion {
if (test-path variable:psversiontable) {$psversiontable.psversion} else {[version]"1.0.0.0"}
}
$powershell = Get-PSVersion
if($powershell.Major -le 2 ){
Write-Error "Oh, so sorry, this script requires Powershell 3 (due to convertto-json)"
exit
}
if((Test-Path env:\JAVA_HOME) -eq $false){
Write-Error "Environment variable JAVA_HOME must be set to your java home"
exit
}
curl -XDELETE "http://localhost:9200/planets"

$DIR = "D:\programs\elasticsearch\plugins\elasticsearch-jdbc-1.7.0.1\"
$FEEDER_CLASSPATH="$DIR\lib"
$FEEDER_LOGGER="file://$DIR\bin\log4j2.xml"

java -cp "$FEEDER_CLASSPATH\*" -"Dlog4j.configurationFile=$FEEDER_LOGGER" "org.xbib.tools.Runner" "org.xbib.tools.JDBCImporter" jdbc_sqlserver.json
  • 使用 powershell 执行 jdb_sqlserver.ps1

这篇文章很有帮助:http://r2d2.cc/2015/08/05/elastic-search-on-windows-with-mysql-sql-server-2014-and-import-feeder/

关于elasticsearch - 从 SQL Server 到 ElasticSearch 节点的数据传输,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36111331/

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