Elasticsearch 5.5.2とKibana用のDockerコンテナをインストールしました。私は、マッピングタイプについて学ぶために始めた、とxcurlを通じて次のコードを使用して索引を作成しました:弾性検索の基本的なマッピングが失敗する
{
"mappings": {
"user": {
"_all": { "enabled": false },
"properties": {
"title": { "type": "text" },
"name": { "type": "text" },
"age": { "type": "integer" }
}
}
}
インデックスが正常に作成されたと私はいくつかのデータを挿入することを決めました。文字列を整数フィールドi.e. {"age": "hello"}
に追加しようとすると、Elasticにエラーが表示されます(これはマッピングが正常に機能していることを意味します)。問題は他のデータ型にあります:
1.Itは文字列フィールドに整数と浮動小数点を受け入れます(これは暗黙のキャストのために考えられます)。
2.Itは
(整数にfloatからキャストを行っていないことを意味し、IはKibanaまたはage
フィールドの内容xcurl検索するとフロートとしてではなく整数として示されている)
age
分野における
22.4
ようなフロートを受け付け
何が悪いのですか?
はあなたが文書を挿入している方法を説明することはできますか? – aclokay
質問の最初の部分については、 '22.2'は完全に有効な文字列です。文字列は普通の文字ではなく、何でもかまいません。違いは、 'text'フィールドが解析され、他のフィールドとは異なる方法でトークン化されることです。 – MatsLindh
@aclokay 'curl -XPOST localhost:9200/my_index/user -d '{"タイトル ":"タイトル "、"名前 ":"ユーザー名 "、"年齢 ":223.5}''それは '{ "_index": "my_index"、 "_type": "ユーザ"、 "_id": "AV4JO3pZh8gyIWsivJ6d"、 "_version":1、 "結果": "作成"、 "_shards":{ "合計」:2、 "成功":1、 は "失敗":0 }、 は "" 作成:真 } ' – Marco