4

統計ファセット (@see http://www.elasticsearch.org/guide/en/elasticsearch/reference/current/search-facets-statistical-facet.html ) を使用して、ドキュメント全体のいくつかのフィールドで集計を実行しています私のElastic Searchインデックスで。

特定のフィールドが存在しない場合に API がデフォルト値を提供する手段を提供しているかどうか、誰かが知っているかどうか疑問に思っていました。たとえば、フィールドが存在しない場合は、そのフィールド値として 0 (ゼロ) を使用します。デフォルトでは、集計が行われているときに null ポインター例外が発生するようです。

私の最初の考えは、スクリプト フィールドを利用して集計フィールドが null かどうかをテストし、そこでデフォルトの 0 ロジックを実行することです。

4

1 に答える 1

4

質問で述べたように、ここで定義されているスクリプト フィールドを試すことができます: http://www.elasticsearch.org/guide/en/elasticsearch/reference/current/search-facets-statistical-facet.html#_script_field_2

例えば:"script" : "_source.place == null ? null : 0"

統計ファセットでこれを試していないことは認めますが、terms stats ファセットで同様のスクリプトを使用したところ、問題なく動作しました。

于 2013-10-22T23:00:06.607 に答える