1、本文
このフィールドは、メールの本文や商品の説明など、全文テキストのインデックス化に使用されます。 これらのフィールドは分析され、個々の用語のリストが分析され、アナライザーによってインデックスに変換されます。 分析プロセスにより、Elasticsearchは各全文フィールド内の単語を個別に検索できます。 テキストフィールドはソートには使われず、集約にもほとんど使われません(ただし、重要な用語の集約は例外です)。 メールアドレス、ホスト名、ステータスコード、ラベルなどの構造化されたコンテンツをインデックスする必要がある場合は、キーワードフィールドを使うべきでしょう。 コードやタグについては、キーワードフィールドも使うべきです。
時には全文版とキーワード版の両方を持つと役立つことがあります。1つは全文検索用、もう1つは集約やソート用です。 これはマルチフィールド化によって実現できます。
2、キーワード
メールアドレス、ホスト名、ステータスコード、郵便番号、ラベルなどの構造化データのインデックス化に使われるフィールドは、フィルタリング(公開済みのブログ記事をすべて見つける)、ソート、集計によく使われます。 キーワードフィールドは正確な値でのみ検索可能です。 メールや商品説明などの全文コンテンツをインデックスする必要がある場合は、テキストフィールドを使うと良いでしょう。
3. 数字の種類
整数、浮動
4、array
Elasticsearchには特定の配列タイプはありません。 デフォルトでは、任意のフィールドが0つ以上の値を含めますが、配列内のすべての値は同じデータ型でなければなりません。例えば: 文字列配列: ["one", "two"] 整数配列:[1,2] 配列の配列:[1, [2, 3]]、これは[1,2,3]に相当します。 オブジェクト配列: [ { "name": "Mary", "age": 12 }, { "name": "john", "age": 10 }]
フィールドが自動的に追加されると、配列の最初の値がフィールドの種類を決定します。 その後のすべての値は同じデータ型を使用するか、少なくとも同じ型に変換できる必要があります 配列は混合データ型をサポートしません:[10、「ある文字列」] 配列には、設定されたnull_valueで置き換えたり、完全にスキップしたりできるnull値を含めることができます。 空の配列[]は存在しないフィールド、すなわち値のないフィールドとして扱われます。
ドキュメント内の配列タイプの使用は事前の設定は不要で、ネイティブでサポートされています。
5、ブール
ブールフィールドはJSONの真値と偽値を受け付けますが、真または偽として解釈される文字列や数値も受け入れることができます
5.3.0で廃止されました。
偽でない値、「偽」「真」「真」の値は非推奨されています。 これらの疑似ブール値(「off」「no」「0」「」「0, 0, 0.0)」を使ってブールドメインを検索することはできません。 代わりにtrueかfalseを使ってください。
6、日付
内部的には、時間帯が指定されている場合はUTCに変換され、紀元からのミリ秒を表す長整数として保存されます。 日付形式はカスタマイズ可能ですが、指定がない場合はデフォルトの形式が使われます。
「strict_date_optional_time||epoch_millis」
つまり、日付と任意のタイムスタンプが付けられ、それに合致する日付を受け入れるstrict_date_optional_time
時代からミリ秒単位のことです。
参考リンク:https://www.elastic.co/guide/en/ ... ml#strict-date-time
7、バイナリ
バイナリ型は、Base64でエンコードされた文字列としてバイナリ値を受け入れます。 このフィールドはデフォルトで保存されておらず、検索もできません
|