2

次のマッピングを使用してデータのインデックスを作成しようとしました。

{  
  "mappings": {
   "chow-demo": {
    "properties": {
     "@fields": {
      "dynamic": "true",
      "properties": {
        "asgid": {
          "type": "string",
          "analyzer": "keyword"
        },
        "asid": {
          "type": "long"
        },
        "astid": {
          "type": "long"
        },
        "clfg": {
          "analyzer": "keyword",
          "type": "string"
        },
        "httpcode": {
          "type": "long"
        },
        "oid": {
          "type": "string"
        },
        "onid": {
          "type": "long"
        },
        "ptrnr": {
          "analyzer": "keyword",
          "type": "string"
        },
        "pguid": {
          "analyzer": "keyword",
          "type": "string"
        },
        "ptid": {
          "type": "long"
        },
        "sid": {
          "type": "long"
        },
        "src_url": {
          "analyzer": "keyword",
          "type": "string"
        },
        "title": {
          "analyzer": "keyword",
          "type": "string"
        },
        "ts": {
          "type": "long"
        }
       }
      },
      "@timestamp": {
       "format": "dateOptionalTime",
       "type": "date"
      },
      "@message": {
       "type": "string"
      },
      "@source": {
       "type": "string"
      },
      "@type": {
       "analyzer": "keyword",
       "type": "string"
      },
      "@tags": {
       "type": "string"
      },
      "@source_host": {
       "type": "string"
      },
      "@source_path": {
       "type": "string"
      }
     }
    },
   "chow-clfg": {
    "_parent": {
     "type": "chow-demo"
    },
    "dynamic": "true",
    "properties": {
     "_ttl": {
      "enabled": true,
      "default": "1h"
     },
     "clfg": {
      "analyzer": "keyword",
      "type": "string"
     },
     "@timestamp": {
      "format": "dateOptionalTime",
      "type": "date"
     },
     "count": {
      "type": "long"
     }
    }
   }
  }
}

子タイプ「chow-clfg」を設定せずに親タイプ「chow-demo」を設定しようとしたところ、ドキュメントのインデックス作成が拒否されました。(Elasticsearach にインデックス付けされたドキュメントはありません)

「chow-clfg」の子マッピングを取り出すと、通常どおり適切にインデックスが作成されます。したがって、次の質問があります。

  1. 私のマッピング構造は間違っていますか?
  2. データを正常にインデックス化するには、親と子を同時にインデックス化する必要がありますか?

私のプロジェクトを進めるには、この質問で本当に助けが必要です! ありがとう!

4

1 に答える 1

2
  1. はい、マッピングが間違っています。要素は、型の_ttl1 レベル上にある必要がありますchow-clfg。つまり_ttl、 と同じレベルにある必要があります_parent。ただし、この問題がインデックス作成にどのように影響するかはよくわかりません。

  2. 親と子を一緒にインデックス化する必要はありません。

于 2012-12-21T11:34:58.827 に答える