Elasticsearchを追加「.keyword」でヒットを見つけることは、私は私がanから輸入fluentdログエントリのフルelasticsearch 5インスタンスを照会してひどい時間を過ごしていElasticsearchのみのみ「.keyword」でヒットを見つける
を追加しましたバージョン1.7を実行する古いelasticsearchインスタンス最も簡単なことは木場を通した質問が頻繁にタイムアウトします。潜在的なパフォーマンスの問題を調べるためにどこを探すべきかは完全に暗いです。私はこのようになります問い合わせるてるインデックスのelasticsearchマッピングのサンプリング:代わりにそれと
=> {"@log_name"=>{"type"=>"text", "fields"=>{"keyword"=>{"type"=>"keyword", "ignore_above"=>256}}},
"@timestamp"=>{"type"=>"date"},
"@version"=>{"type"=>"text", "fields"=>{"keyword"=>{"type"=>"keyword", "ignore_above"=>256}}},
"action"=>{"type"=>"text", "fields"=>{"keyword"=>{"type"=>"keyword", "ignore_above"=>256}}},
"api"=>{"type"=>"boolean"},
"controller"=>{"type"=>"text", "fields"=>{"keyword"=>{"type"=>"keyword", "ignore_above"=>256}}},
"db"=>{"type"=>"float"},
"duration"=>{"type"=>"float"},
"error"=>{"type"=>"text", "fields"=>{"keyword"=>{"type"=>"keyword", "ignore_above"=>256}}},
"filtered_params"=>{"type"=>"text", "fields"=>{"keyword"=>{"type"=>"keyword", "ignore_above"=>256}}},
"user"=>
{"properties"=>
{"email"=>{"type"=>"text", "fields"=>{"keyword"=>{"type"=>"keyword", "ignore_above"=>256}}},
"snowflake_id"=>{"type"=>"text", "fields"=>{"keyword"=>{"type"=>"keyword", "ignore_above"=>256}}},
"snowflake_uid"=>{"type"=>"text", "fields"=>{"keyword"=>{"type"=>"keyword", "ignore_above"=>256}}},
"type"=>{"type"=>"text", "fields"=>{"keyword"=>{"type"=>"keyword", "ignore_above"=>256}}}}},
...
を、私が見つけたドキュメントの合計数を返すためのようなものでcurl
を使用してインデックスを照会することができます
0件のドキュメントが見つかりました。私のマッピングは、このデータのために適切であるかどうかはどのように知っていますか:私はuser.email.keyword
でuser.email
用語に置き換える場合しかし、クエリは、私は私の主な質問は推測40
のtotal
数を返しますか? (インポートされたデータは、挿入時にデータが挿入されたときに作成されたもので、自動的に作成されると仮定しています)
ああ、それは信じられないほど役に立つ - 私はESがトークン値だけで検索可能になるようにテキストフィールドを分割することは知らなかった。しかし、私はまだ、なぜ私のすべてのインデックスを照会するのが遅いのですか?つまり、 'curl -s -XGET 'localhost:9200/logstash- *'がタイムアウトし、 'curl -s -XGET' localhost:9200/logstash-2017.09 * 'はありません。具体的な証明はまだありませんが、インポート前とインポート後のドキュメントを集約すると掲載結果に影響が出ているようです。 – matt