web-dev-qa-db-ja.com

Kibanaの「field」フィールドと「field.keyword」フィールドの違いは何ですか?

Kibanaでフィルターを追加すると、すべての文字列フィールドにエントリと。keywordエントリがあります。違いはなんですか?

13
PaulB

Elasticsearch 5からは、文字列フィールドタイプはなく、代わりに2つのタイプがあります。

キーワード-フィルター、集約、およびソートに使用します。

テキスト-検索テキストに使用します。

文字列フィールド(名前など)を使用してドキュメントにインデックスを付ける場合、elasticsearchは、フィールドを検索用にテキストフィールドに、フィルター用にキーワードにマッピングします。

Kibanaはフィールドをフィルターと集約に使用するため、キーワードを使用します。

elasticsearchのドキュメント を見てください

3
Lax

実際、これはKibanaの問題ではなく、全文検索とキーワード検索の両方を適合させるElasticSearchの問題です。 filed.keywordはキーワード検索と集計用で、元のフィールドは全文検索に使用されます。

これに特化した公式ブログがあります: https://www.elastic.co/cn/blog/strings-are-dead-long-live-strings

公式ディスカッション掲示板にも投稿があります。ここに参照用のリンクがあります。 https://discuss.elastic.co/t/why-am-i-getting-keyword-for-my-feilds -in-index-pattern/13798

0
welkinwalker