node.jsのrequestモジュールからElasticsearch Service上のESインスタンスのエンドポイントURLへ以下のJsonをPUTした際に、400エラーになります。authの入れ方が悪いとかでしょうか?
request.put({
url:${this.esUrl + '/' + indexName}
,
headers: {
'Content-type': 'application/json',
},
auth: {
user: 'elastic',
password: 'password',
},
json: {
settings: {
analysis: {
analyzer: {
my_kuromoji_analyzer: {
type: 'custom',
tokenizer: 'ja_tokenizer',
},
},
tokenizer: {
ja_tokenizer: {
type: 'kuromoji_tokenizer',
mode: 'normal',
},
},
},
},
mappings: {
data: {
properties: this.esMappings,
},
},
},
})
以下、エラーログです。
{ StatusCodeError: 400 - {"error":{"root_cause":[{"type":"remote_transport_exception","reason":"[instance-0000000000][172.17.0.16:19950][indices:admin/create]"}],"type":"illegal_argument_exception","reason":"Unknown tokenizer type [kuromoji_tokenizer] for [ja_tokenizer]"},"status":400}