Elasticsearch集約問題

 テストではElasticsearch重合時間は、エラーを報告しました。次のように:

GET / megacorp /従業員/ _search 
{
   "aggs" :{
     "all_interests" :{
       "用語":{ "フィールド": "利益" } 
    } 
  } 
}

エラーメッセージ

{
  「エラー」:{
    「ROOT_CAUSE」:[ 
      {
        「タイプ」:「illegal_argument_exception」「理由は」:「Fielddataはデフォルトでテキストフィールドで無効になっていることにより、メモリにfielddataロードするために[利益]に真= fielddata設定します。転置インデックスをuninverting。これはしかし、大量のメモリを使用できることに注意してください。また代わりに、キーワードフィールドを使用しています。」
      } 
    ]、
     "タイプ": "search_phase_execution_exception"  "理由": "全破片が失敗しました"  "相": "クエリ"は "グループ化":
        "インデックス": "megacorp"  "ノード": "wlvuJ0f_SsCxys6ZW5j7eA"  "理由" :{
           "タイプ": "illegal_argument_exception"  "理由":「Fielddataは、デフォルトではテキストフィールドで無効になっている[利益にfielddata = trueを設定します。 ]転置インデックスをuninvertingことにより、メモリにfielddataロードするために。これはしかし、大量のメモリを使用できることに注意してください。また代わりに、キーワードフィールドを使用しています。」
        } 
      } 
    ] 
  }、
   "ステータス":400 
}

ソリューション:

1、ElasticSearch5.xのソリューションは、オープンfielddataです。

PUT / megacorp / _mapping / 従業員 
{
   "プロパティ" :{
     "利益" :{ 
       "タイプ": "テキスト"  "fielddata":
    } 
  } 
}

2、バージョンElasticSearch6.xまたは7.xのオープンfielddataとき:

PUT / megacorp / _mapping 
{
   "プロパティ" :{
     "利益" :{ 
       "タイプ": "テキスト"  "fielddata":
    } 
  } 
}

 

おすすめ

転載: www.cnblogs.com/liugp/p/11374524.html