Kibana4でnot analyzedなFieldに対してフィルタをかけたいときの注意点

  • 11
    いいね
  • 0
    コメント
この記事は最終更新日から1年以上が経過しています。

Kibana4ではフィルタをかけるとき、query_string queryを投げています。

このquery_string queryのデフォルトの挙動では、クエリ文字列を全て小文字に変換して検索するという仕様があります。

そのため、特にnot analyzedのような大文字がインデックスされているフィールドに対しては、クエリ文字列上で明示した大文字の部分がヒットしない、という事が起きます。

この挙動を防ぎ、記述した通りのクエリ文字列で検索するためkibana4では、
Settings > Advanced > query:queryString:options

に対して以下の設定を追記するといいでしょう。

デフォルト:
json:default
{ "analyze_wildcard": true }

追記後:
json:lowercase_expanded_terms_false
{ "analyze_wildcard": true , "lowercase_expanded_terms" : false}

参考:
https://twitter.com/aya_eiya/status/600533055774687232
https://www.elastic.co/guide/en/elasticsearch/reference/1.x/query-dsl-query-string-query.html