Index is not creating


(Sumit Gupta) #1

I' getting following error:

status=>400,
: action=>[
"index",
{
: _id=>nil,
: _index=>"mongodata",
: _type=>"mytype1",
: _routing=>nil
},
#
],
: response=>{
"index"=>{
"_index"=>"mongodata",
"_type"=>"mytype1",
"_id"=>"odSwBGEBmyc6bJc236_X",
"status"=>400,
"error"=>{
"type"=>"mapper_parsing_exception",
"reason"=>"Field [_id] is a metadata field and cannot be added inside a document. Use the index API request parameters."
}
}
}
}

_id field is belong to database.

Please suggest.


(Magnus Bäck) #2

It looks like the document you're trying to send to ES has a _id field which isn't allowed. This is probably caused by a mistake in your configuration.


(Sumit Gupta) #3

I'm using DBSCHEMA Jdbc. i'm using following config file. My database has _id Column. So i used renamed this column in filter script.
My config file is following:

input{
jdbc{
jdbc_driver_library => "/app/elastic/logstash-6.1.0/lib/dbschema/mongojdbc1.2.jar"
jdbc_driver_class => "Java::com.dbschema.MongoJdbcDriver"
jdbc_connection_string => "jdbc:mongodb://houbiap5.**********:27017/test"
jdbc_user => ""
statement => "db.getCollection('EmployeeLoad').find({})"
}
}

filter {
mutate {
rename => { "[_id]" => "documentId" }
}
}

output {
stdout { codec => rubydebug }
elasticsearch {
hosts => ["*************"]
index => 'mongodbschema'
document_type => "mytype1"
}
}

This is giving Following error.

Exception when executing JDBC query {:exception=>#<Sequel::DatabaseError: Java::OrgLogstash::MissingConverterException: Missing Converter handling for full class name=org.bson.types.ObjectId, simple name=ObjectId>}

Please suggest.


(Magnus Bäck) #4

It looks like there's a column in the result set of the type ObjectId that you need to type cast to e.g. a string.


(Sumit Gupta) #5

Could you please elaboration this? How can do this.


(Magnus Bäck) #6

Change your SQL query to convert the data type of the ObjectId column(s) to varchar or whatever.


(system) #7

This topic was automatically closed 28 days after the last reply. New replies are no longer allowed.