ElasticSearch错误:MapperParsingException无法解析

时间:2014-12-08 10:06:15

标签: elasticsearch elasticsearch-jdbc-river

我正在尝试将MYSQL集成到此link

的Windows 7上的ElasticSearch中

我已完成以下步骤:

1:

  

下载&在C目录中解压缩   https://download.elasticsearch.org/elasticsearch/elasticsearch/elasticsearch-1.3.4.zip

2:

  

在CMD ./bin/plugin上运行此命令--install jdbc --url   http://xbib.org/repository/org/xbib/elasticsearch/plugin/elasticsearch-river-jdbc/1.3.4.4/elasticsearch-river-jdbc-1.3.4.4-plugin.zip

3:

  

从MYSQL网站下载MYSQL Connector mysql-connector-java-5.1.33.zip。

     

解压缩并复制mysql-connector-java-5.1.33-bin.jar文件。

     

将其放入C:\ elasticsearch-1.3.4 \ plugins \ jdbc

我现在检查了插件目录中有两个文件

  • elasticsearch江-JDBC-1.3.4.4.jar

  • MySQL的连接器的Java-5.1.33槽

现在我尝试在CMD上执行此命令,我收到错误

curl -XPUT 'localhost:9200/_river/jdbc-1.3.4.4-d2e33c3/_meta' -d '{
    "type" : "jdbc",
    "jdbc" : {
        "url" : "jdbc:mysql://localhost:3306/test",
        "user" : "root",
        "password" : "pass",
        "sql" : "select * from abc"
    }
}'

{
  "error": "MapperParsingException[failed to parse]; nested: JsonParseException[Unexpected character (''' (code 39)): expected a valid value (number, String, array, object, 'true', 'false' or 'null')\n at [Source: [B@3cf756; line: 1, column:2]]; ",
  "status": 400
}

curl: (6) Could not resolve host: type; Host not found

curl: (6) Could not resolve host: :; No data record of requested type

curl: (6) Could not resolve host: jdbc,jdbc; No data record of requested type

curl: (6) Could not resolve host: :; No data record of requested type

curl: (3) [globbing] unmatched brace at pos 5

curl: (6) Could not resolve host: :; No data record of requested type

curl: (6) Could not resolve host: jdbc:mysql:; No data record of requested type

curl: (6) Could not resolve host: :; No data record of requested type

curl: (6) Could not resolve host: root,password; No data record of requested typ
e
curl: (6) Could not resolve host: :; No data record of requested type

curl: (6) Could not resolve host: pass,sql; No data record of requested type

curl: (6) Could not resolve host: :; No data record of requested type

curl: (6) Could not resolve host: select * from abc; No data record of requested type
  

MYSQL(5.5.37)数据库(测试)只包含一个包含两列的表(abc)   id(pk)和address(varchar)

我使用 jdbc-1.3.4.4-d2e33c3 名称作为jdbc驱动程序。我从这个链接中得到了这个名字。

http://localhost:9200/_nodes?settings=true&pretty=true

我已经搜索过了,但是找不到与mysql集成相关的任何问题。

我的问题还有什么遗失或我的设置错误。?

4 个答案:

答案 0 :(得分:5)

在Windows上,curls的行为有所不同。尝试使用 curl -XPUT "http://127.0.0.1:9200/index/type/id" -d "{ """attribute""" : """name""" }".尝试使用这些三重引号

答案 1 :(得分:0)

使用Google Chrome的Sense (Beta)扩展程序。它具有非常好的功能,如自动完成,语法检查,语法突出显示,键盘快捷键和历史记录。

Marvel是另一种选择。完整的免开发人员ES管理控制台。它包含一个较新版本的Sense,但它不是免费的生产节点,并具有此问题没有问的功能

答案 2 :(得分:0)

当然,在windows curl上行为不同.. 我的是windows 7 64bit操作系统 这对我有用..

  

curl -XPUT" http://localhost:9200/twitter/tweet/1" -d" {""用户"":"" Rahul A Pawar"","&#34 ;消息"":""很有趣""}"

- 使用key:value的双引号。

答案 3 :(得分:0)

是的,如果你的值包含空格,请记住它以反斜杠(\)转义它。什么"""意思是,你正在逃避一个双引号与另一个双引号有效地留下两个待处理。 这一切都归结为以Windows方式逃避字符。