我正在从betfair api-ng获取marketcatalogue数据,我想将它存储到elasticsearch(v1.4.4)中。为来自远程api的字典定义elasticsearch映射
来自API的数据包含很多属性和复杂类型。有一个名为的跑步者其中包含相关数据和Dictionary<string,string>
。我想定义这样的映射,所以它将数据存储在Elasticsearch中。样本映射下面是:
"marketcatalogue" :{
"properties":{
"marketId":{"type":"string", "index": "not_analyzed" },
"marketName":{"type":"string", "analyzer":"keylower" },
"isMarketDataDelayed":{"type","boolean"},
"description":{
"persistenceEnabled":{"type","boolean"},
"bspMarket":{"type","boolean"},
"marketTime":{"type" : "date","format":"dateOptionalTime"},
"suspendTime":{"type" : "date","format":"dateOptionalTime"},
"settleTime":{"type" : "date","format":"dateOptionalTime"},
"bettingType":{"type":"integer"},
"turnInPlayEnabled":{"type","boolean"},
"marketType":{"type":"string", "analyzer":"keylower" },
"regulator":{"type":"string", "analyzer":"keylower" },
"marketBaseRate":{"type":"double"},
"discountAllowed":{"type","boolean"},
"wallet":{"type":"string", "analyzer":"keylower"},
"rules":{"type":"string"},
"rulesHasDate":{"type","boolean"},
"clarifications":{"type":"string"}
},
"runners":{
"selectionId":{"type":"long"},
"runnerName":{"type":"string", "analyzer":"keylower"},
"handicap":{"type":"double"},
"metadata":{
}
}
}
}
}
的medatadata是Dictionary<string,string>
从API来和它可以包含像数据:
<"TRAINER_NAME", "John">, <"WEARING", "Wearing one">,....
将数据存储到类型是不是一个大问题,但问题是如何定义字典的映射。
任何帮助将节省我很多时间,并会让我学习映射创作更好的方法。
在此先感谢。
你的建议奏效。非常感谢 –