私はElasticsearchを主にデータ分析に使用する予定です。私は多くの、疎な数値(最大4バイト)の属性を持つ大きな文書を持っています。私の文書のほとんどのフィールドには値の約30%しかありません。私が正しく理解すれば、いくつかのデータベースに見られる柱状のデータレイアウトに似たDoc Values機能を利用することができます。私はElasticsearch/Luceneがどのようにこのデータを保存するのだろうと思っていました。圧縮(例えばランレングス)が使用されているか、またはヌルがストレージと同じスペースを値とする密なデータレイアウトですか?文書検索値でのElasticsearch/Lucene null処理
答えて
NULL
値の場合、ElasticSearchのデフォルトの動作では、フィールドをまったく追加しません。 null_value
を使用してフィールドを強制的にマップすることはできますが、タイプはNULL
に対応しています。例:long
フィールドは文字列null_value
でマッピングすることはできません。
この問題に対処するために、ElasticSearchはドキュメント内にないフィールドのデフォルトスペースを割り当てません。しかし、値が決してないフィールドでクエリを実行する場合は、MissingFieldException
に入ることがあります。これを避けるには、インデックスを作成する前にフィールドを明示的にマッピングします。明示的にマップする場合は、フィールドのnull_value
プロパティをデータ入力範囲外に設定してください。
はい、私がフィルタリングしたいすべてのフィールドをマップすることを意図していました。しかしこれは疑問を提起する。本当に欠損値を0に設定しますか?つまり、0は有効な値であり、nullの代わりに使用しないでください。 –
申し訳ありませんが、私が書いた文章は間違ったメッセージを解釈しました。私の答えを編集しました。欠落しているフィールドのデフォルト値は0に設定されません。値をまったく設定しないので、明示的にマップしても 'MissingFieldException'で終わることがあります。より安全な側では、 'null_value'フィールドの値を入力範囲外の値(long.MIN_VALUEやint.MIN_VALUEなど)に設定することができます。 – NutcaseDeveloper
- 1. 検索 - テキスト処理
- 2. Lucene.net検索で特殊文字を使用したワイルドカード検索の処理
- 3. ReportParameterでのNull値の処理
- 4. MySQL - NULL値を検索
- 5. PostgreSQL用PHPでのブール検索処理
- 6. postgresのcase文でnull値を検索する方法
- 7. ソート文書:検索
- 8. HiveでNULL値を処理する
- 9. コントローラ内の検索操作からの爆縮値の処理
- 10. JSONレスポンスのNULL値の処理:Python Flask
- 11. コンポーネント内のNullオブジェクトプロパティ値の処理
- 12. OracleCommandパラメータのNULL値の処理
- 13. 検索による文書管理/コンテンツ管理
- 14. VB.net 2008文書の検索
- 15. ファイルシステムの文書を検索
- 16. クエリオーバービューのnull値を処理します
- 17. 弾性検索アグリゲーター - 欠損値の処理方法
- 18. not null marklogicのプロパティ値の検索
- 19. Mongo cドライバ検索クエリのエラー処理
- 20. 弾性検索履歴データの処理
- 21. のDataTable +サーバーサイド処理+検索フィルタリング
- 22. 弾性検索で文書を検索する方法
- 23. 処理大きな文書
- 24. nullカラムのmysql全文検索
- 25. 値と返品情報のXML文書を検索
- 26. 値のタイプと辞書の検索
- 27. DNN検索(インデックス文書)
- 28. 弾性検索文書数
- 29. pyMongoで文書の全フィールドを検索
- 30. 弾性検索文書の保存
[こちら](https://www.elastic.co/guide/en/elasticsearch/reference/current/null-value.html)は役に立ちますか? – pratikvasa