私はElasticsearchでインデックスを作成しようとしています。私はESのローカルインスタンスをデプロイしており、クエリはうまく動作します。しかし、私はスキーマを持っています。ここでは、次のとおりです。インデックス検索中にElasticsearchフィールドデータがサポートされない
{
"mappings": {
"payment":{
"properties":{
"timestamp":{"type":"date"},
"base_amount":{"type":"integer"},
"derived_id":{"type":"keyword", "fielddata": true},
"attempts":{"type":"integer"},
"status":{"type":"text","fielddata":true},
"error_code":{"type":"text","fielddata":true}
}
}
}
}
ここで私は、このインデックス
import json
import requests
schema = {
"mappings": {
"payment": {
"properties": {
"timestamp": {"type": "date"},
"base_amount": {"type": "integer"},
"derived_key": {"type": "keyword", "fielddata": True},
"attempts": {"type": "integer"},
"status": {"type": "text", "fielddata": True},
"error_code": {"type": "text", "fielddata": True}
}
}
}
}
index = 'http://localhost:9200/payment_index_2016_08_21'
r = requests.put(index, data=json.dumps(schema))
print r.content
を作成するために使用していたコードは、私が手にエラーが
{ "エラー" です:{ "ROOT_CAUSE": [フィールドのデータ: true] "}"、 "タイプ": "mapper_parsing_exception"、 "reason": "失敗しました" [["type": "mapper_parsing_exception"、 "reason": "[derived_key]のマッピング の定義にサポートされていないパラメータがあります。解析する: マッピング[支払い]:[派生キー]のマッピング定義には、 サポートされていないパラメータがあります:[フィールドデータ: true] "、"被害者 ":{"タイプ ":" mapper_parsing_exception "、"理由 ":"派生キーの定義 サポートされていないパラメータ:[fielddata: 真] "}}、" ステータス ":400}
fielddata = true
が問題を引き起こしている、なぜ私はそれがここにhttps://www.elastic.co/guide/en/elasticsearch/reference/current/fielddata.html許可されています参照するので、私は、理解していません。これの背後にある問題は何か手掛かりがありますか?
だから私はそれを削除し、それは正常に動作するはずですか? – bholagabbar
はい。それが再びエラーを提供しない場合:-) –
うまく動作します。つまり、キーワードでは、デフォルトで集計を実行できます。fielddata = true(すでに有効になっているため)でフィールドデータを有効にする必要はありません。フィールドデータの目的は、矛盾を修正することです。 – bholagabbar