Hi,
I am looking to upsert a value to a field in existing document in an array, i have the below config file but the system is throwing error with message shown after config file, can anyone please help.
I have made the changes as you said and tried the config file again but it gave me the below error. I tried searching a fix for it but couldn't find any, can you please help
Registering file input {:path=>["C:\ElasticSearch\logstash-2.3.4\bin\testspecialty.csv"], :level=>:info, :file=>"/ElasticSearch/logstash-2.3.4/vendor/bundle/jruby/1.9/gems/logstash-input-file-2.2.5/lib/logstash/inputs/file.rb", :line=>"171", :method=>"register"}
No sincedb_path set, generating one based on the file path {:sincedb_path=>"C:\Users\vamsi/.sincedb_469ac9bb1d0de3017c85ea3629a99535", :path=>["C:\ElasticSearch\logstash-2.3.4\bin\testspecialty.csv"], :level=>:info, :file=>"/ElasticSearch/logstash-2.3.4/vendor/bundle/jruby/1.9/gems/logstash-input-file-2.2.5/lib/logstash/inputs/file.rb", :line=>"216", :method=>"register"}
Invalid setting for elasticsearch output plugin:
output {
elasticsearch {
# This setting must be a string
# Expected string, got {"document_id"=>"%{provider_id}", "Secondary_Specialty_String"=>["%{Secondary_Specialty}"]}
upsert => {"document_id"=>"%{provider_id}", "Secondary_Specialty_String"=>["%{Secondary_Specialty}"]}
...
}
} {:level=>:error, :file=>"/ElasticSearch/logstash-2.3.4/vendor/bundle/jruby/1.9/gems/logstash-core-2.3.4-java/lib/logstash/config/mixin.rb", :line=>"374", :method=>"validate_check_parameter_values"}
Hello,
The only way I found to fill in the upsert field in elasticsearch output is to use the json_encode filter. This creates a string that I pass in the upsert.
Apache, Apache Lucene, Apache Hadoop, Hadoop, HDFS and the yellow elephant
logo are trademarks of the
Apache Software Foundation
in the United States and/or other countries.