Я использую ElasticHighLevelClient (NEST) для индексации данных из SQL БД. Проблема в том, что у меня нет доступа к объектам POCO, и мне нужно фильтровать эти данные. У объектов POCO есть вложенные поля, например
class Car{
public string Id { get; set; }
public string Name { get; set; }
public string Model { get; set; }
public List<Engine> Engines { get; set; }
public List<Wheel> Wheels {get; set;}
}
class Engine {
public string Id { get; set; }
public string EngineModel { get; set; }
public TypeEnum Type { get; set; }
public List<Maker> Makers { get; set; }
}
class Wheel {
public string Id { get; set; }
public string Name { get; set; }
}
class Maker {
public string Id { get; set; }
public string CompanyName { get; set; }
}
Я нашел этот вопрос Массовое индексирование в Elasticssearch с использованием клиента ElasticLowLevelClient , но у меня есть несколько проблем с ним: 'PostData.PostData (строка) недоступна из-за уровня защиты. Я изменил его на new PostData.Serializable (string Json)) ; но у меня есть сообщение « не удается разрешить ошибку« Сериализуемый »».
Итак, кто-нибудь может мне помочь со следующими моментами:
1) Как я могу проиндексировать автомобиль объект, не имеющий доступа к объектам POCO?
2) Как настроить фильтрацию с вложенными объектами, например, для всех автомобилей, у которых есть Engine.Type = «petrol» и Engine.Maker = «ltd»?
Спасибо!