2
我将ES 0.20.6与elasticsearch-river-jdbc plugin一起使用。 我创建了一个工程,并使用一条河:为JDBC弹性搜索河设置映射
SQL="SELECT ..."
curl -XPUT 'localhost:9200/_river/myindex_river/_meta' -d '{
"type" : "jdbc",
"jdbc" : {
"driver" : "org.postgresql.Driver",
"url" : "jdbc:postgresql://localhost:5432/mydb_db",
"user" : "myuser",
"password" : "mypassword",
"sql" : "'"$SQL"'"
},
"index" : {
"index" : "myindex",
"type" : "mytype",
"type_mapping" : null
}
}'
现在我想的是添加类型映射为the option is defined in the plugin documentation。但我真的cant't找出语法和始终得到以下错误(与"Source: "
部分的变化取决于我尝试)
org.elasticsearch.index.mapper.MapperParsingException: Failed to parse mapping definition
at org.elasticsearch.index.mapper.DocumentMapperParser.extractMapping(DocumentMapperParser.java:237)
at org.elasticsearch.index.mapper.DocumentMapperParser.parse(DocumentMapperParser.java:147)
at org.elasticsearch.index.mapper.MapperService.parse(MapperService.java:379)
at org.elasticsearch.index.mapper.MapperService.parse(MapperService.java:375)
at org.elasticsearch.cluster.metadata.MetaDataMappingService$4.execute(MetaDataMappingService.java:309)
at org.elasticsearch.cluster.service.InternalClusterService$2.run(InternalClusterService.java:223)
at java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:886)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:908)
at java.lang.Thread.run(Thread.java:662)
Caused by: org.elasticsearch.common.jackson.core.JsonParseException: Unexpected character ('=' (code 61)): was expecting a colon to separate field name and value
at [Source: {mytype={properties={active={index_analyzer=standard, store=yes, type=boolean}}}}; line: 1, column: 9]
at org.elasticsearch.common.jackson.core.JsonParser._constructError(JsonParser.java:1378)
at org.elasticsearch.common.jackson.core.base.ParserMinimalBase._reportError(ParserMinimalBase.java:599)
at org.elasticsearch.common.jackson.core.base.ParserMinimalBase._reportUnexpectedChar(ParserMinimalBase.java:520)
at org.elasticsearch.common.jackson.core.json.ReaderBasedJsonParser.nextToken(ReaderBasedJsonParser.java:616)
at org.elasticsearch.common.xcontent.json.JsonXContentParser.nextToken(JsonXContentParser.java:48)
at org.elasticsearch.common.xcontent.support.XContentMapConverter.readMap(XContentMapConverter.java:70)
at org.elasticsearch.common.xcontent.support.XContentMapConverter.readOrderedMap(XContentMapConverter.java:60)
at org.elasticsearch.common.xcontent.support.AbstractXContentParser.mapOrdered(AbstractXContentParser.java:116)
at org.elasticsearch.index.mapper.DocumentMapperParser.extractMapping(DocumentMapperParser.java:235)
... 8 more
哇,谢谢。我甚至都没有想过。我使用继续的json符号来设置映射,但是我需要在我的json对象中有一个json字符串...工作方式:''type_mapping“:”{\“mytype \”:{\“properties \”:{\ “活性\”:{\ “类型\”:\ “布尔\”,\ “存储\”:\ “是\”}}}}“'。非常感谢 ! – Crystark
我必须补充一点,我使用的是Chrome Sense,并且甚至在json对象内的回车符也非常特殊。 – dickyj
在ElasticSearch 1.0.0中,你应该这样做:http://ondrej-kvasnovsky.blogspot.com/2013/10/how-to-configure-jdbc-river-for.html –