TLDR:マッピングでnot_analyzedと指定されていても、一部のフィールドは分析されます。マッピングでnot_analyzedは無視されます
私はいくつかのデータセットを持っており、それぞれがセットに含まれる日付に基づいてElasticsearchインデックスに送られます(index-25012016のようなインデックス名を与えます)。一部のセットは同じ日付で、したがって同じインデックスを持ちます。
私はES $ currentIndexNameと$マッピングは、それぞれいくつかのより多くのでindex-25012016
と
{
"mappings": {
"myMappingType": {
"properties": {
"present": {
"type":"boolean"
},
"records": {
"type":"integer"
},
"batchID": {
"type":"string",
"index":"not_analyzed"
},
"version": {
"type":"string",
"index":"not_analyzed"
},
"date": {
"type":"date",
"format":"yyyy-MM-dd"
},
"packageCreationDate": {
"type":"date",
"format":"MM/dd/yyyy-HH:mm"
}
}
}
}
}
のように見える文字列である
print `curl -s -XPUT "http://$ELASTIC_SEARCH_URL/$currentIndexName?pretty" -d ' $mapping'`
へのマッピングを送信するには、次のperlコマンドを使用
フィールド。 このコマンドはすべてのセットに対して繰り返されますが、これまでに行った$ currentIndexNameを除きます。コマンドが実行されると 、ESからの答えは、私はその後、$ OUTPUTFILENAMEは、JSONファイルの名前です`curl -s -XPOST "$ELASTIC_SEARCH_URL/$currentIndexName/_bulk?pretty" --data-binary \@$outputFileName`;
とESにデータを送信し、このマッピングステップはスキップされたり達成されたかどうかを
{
"acknowledged" : true
}
です。
問題は、私がnot_analyzedをKibana/Settings/Indicesで指定しても、文字列フィールドが分析とインデックス化の両方にマークされていることです。したがって、たとえば、バージョンフィールドがすべて( "3.2.506 64ビット")で同じであるため、円グラフにはaの代わりに "3.2.506"、 "64"および "bit"の3つの等しいスライスが表示されますすべてのスライスされていない "3.2.506 64ビット"パイ。ただし、ブール値、数値、日付フィールド、およびメタフィールドは分析されません。
木場のインデックスパターンはすべてのインデックス(index- *)と一致し、日付を時間ベースのイベントフィールドとして使用します。 データの送信後にインデックスパターンを再作成しようとしましたが、何も変更されません。 私はWindows 7を使用しており、logstashは使用しません。
EDIT:
Remove data
for each set in allSets
mapping (if not already mapped in a previous iteration)
send data to ES
はありがとう、私は重要な何かを書くのを忘れを思い出し:私は実際にデータを削除します私がプロセスを始める前に(編集された答えを見てください)。したがって、マッピング・ステップでは索引が作成されないため、データを送信しません。 – LogicalKip
スクリプトは完了した後、http:// localhost:9200/your-index-name?pretty = trueにGET要求を実行すると、ESはインデックスに対して正しいマッピングを返しますか?もしそうなら、私はインデックスパターンのために木場のフィールドリストをリフレッシュしようとします。これがうまくいかない場合は、Kibanaインデックスパターンと一致する古いマッピングが存在する古いインデックスがまだ存在する可能性があります。とにかく、私が指摘した索引テンプレートを見てください。索引作成時に正しいマッピングが適用され、自分でマッピングを変更する必要がないからです。 – const314
なぜそれが以前にはうまくいかなかったのかまだ分かりませんが、自動インデックステンプレートを使用することはやりました。ありがとうございました。 – LogicalKip