elasticsearch,Sql,Oracle,Jdbc,elasticsearch" /> elasticsearch,Sql,Oracle,Jdbc,elasticsearch" />

让ElasticSearch Oracle SQL River正常工作

让ElasticSearch Oracle SQL River正常工作,sql,oracle,jdbc,elasticsearch,Sql,Oracle,Jdbc,elasticsearch,我是ElasticSearch新手,正在尝试在本地计算机上设置一个实例,该实例将连接到另一台服务器上的Oracle SQL数据库。目前,我正在使用ES1.5.2,并下载了插件ojdbc6.jar。我也在使用Windows电脑 我可以打开elasticsearch.bat文件并成功启动一个Test_节点,但我无法使移动的片段对齐。我从几个问题/答案以及一些ES文档中拼凑了以下命令 我建造这条河的命令: curl -XPUT "localhost:9200/_river/JDBC_River

我是ElasticSearch新手,正在尝试在本地计算机上设置一个实例,该实例将连接到另一台服务器上的Oracle SQL数据库。目前,我正在使用ES1.5.2,并下载了插件ojdbc6.jar。我也在使用Windows电脑

我可以打开elasticsearch.bat文件并成功启动一个Test_节点,但我无法使移动的片段对齐。我从几个问题/答案以及一些ES文档中拼凑了以下命令

我建造这条河的命令:

    curl -XPUT "localhost:9200/_river/JDBC_River/_meta" -d @config.json
My@config.json文档:

    {"type": "jdbc",
     "jdbc": "{
         \"strategy\": \"oneshot\",
         \"url\": \"jdbc:oracle:thin:@server.database:1521/Hello.WORLD\",
         \"user\":\"user\",
         \"password\":\"password\",
         \"sql\":\"select id as \"_id\", count(*) from table group by stuff\",
         \"gridfs\": false
        }",
     "index": "{
        \"index\": \"CHANNEL_DATA\",
        \"type\": \"MDM_data\"
        }"
    }
我用于检查河流是否存在的命令:

    curl -XGET "localhost:9200/JDBC_River/_search?pretty"
此命令接收以下输出:

    { 
      "error" : "IndexMissingException[[JDBC_River] mising]",
      "status" : 404
    }
此外,我拼凑的用于将数据拉回到视图和删除河流的命令分别如下:

    curl -XGET "localhost:9200/JDBC_River"

    curl -XDELETE "localhost:9200/_river/JDBC_River/"

有人能帮我解释一下为什么我的河流不存在,但它是被创造出来的吗?我的直觉是,这是一个驱动程序问题,我的river实际上并没有撞到oracle数据库,但我不知道应该使用什么语法,因为我发现的大多数oracle JDBC文档都已经过时了。

您的JDBC URL中的“Hello.WORLD”是什么?正确的格式是
jdbc:oracle:thin:@/:/ServiceName
,谢谢您的回复。那个Hello.WORLD的东西是从我找到的另一个问答论坛上抄来的。我不知道“ServiceName”是什么意思。例如,is=server.database?主机是一个网络主机,由其主机名或IP地址指定。服务名称是DBA分配给Oracle实例(=数据库)的名称。我已经适当地调整了主机名和服务名。然而,我仍然得到与上面相同的错误。还有其他建议吗?另外,我还有一个问题:我的url应该是有效的url吗?如果我在浏览器中输入URL,它应该在任何地方吗?