Я извлекаю данные о рынке данных из betfair api-ng, и я хочу сохранить его в elasticsearch (v1.4.4).Определить отображение elasticsearch для словаря, исходящего из удаленного api
Данные, поступающие из 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":{
}
}
}
}
}
The medatadata является Dictionary<string,string>
приходит из API, и он может содержать данные, такие как:
<"TRAINER_NAME", "John">, <"WEARING", "Wearing one">,....
Сохранение данных в тип не является большое дело, но проблема заключается в том, как определить отображение для словаря.
Любая помощь сэкономит много времени и заставит меня лучше изучить создание карт.
Заранее спасибо.
Ваше предложение сработало. Большое спасибо –