2016-09-07 7 views
0

フィールドアベイラビリティーを持つユーザーがいます。以下は、フィールドのデータマッピング、この分野のユーザーに弾性検索アグリゲーター - 欠損値の処理方法

"mappings": { 
"users": { 
    "dynamic": "false", 
    "_all": { 
     "enabled": false 
    }, 
    "properties": { 
     "availability": { 
       "type": "string", 
       "index": "not_analyzed", 
       "term_vector": "with_positions_offsets", 
       "null_value": "_unspecified_" 
     }, ... 

value1value2value3を言うことができますされているか、それが空であることができる値の限られたセットを持つことができますいずれかです。

私はそれに簡単な言葉集約を行う

{ 
"aggs" : { 
    "availability" : { 
     "terms" : { 
     "field" : "availability", 
     "min_doc_count": 0, 
     "missing": "Unspecified"     
     } 
    } 
    } 
} 

これは私が出力

{ 
"aggregations": { 
    "availability_location": { 
    "value1": 23, 
    "value2": 143, 
    "value3": 636, 
    "Unspecified": 127, 
    "_unspecified_": 490 
} 

に何を得る私の質問は、なぜ異なる未指定でカウントし、不定されているのですか?

答えて

0

Unspecified in filtersは、このフィールドがデータに含まれていないユーザーをカウントします。そして__unspecified__は、フィールドを持っているユーザーの数を示しますが、nullの値を持っています。