У меня может быть что-то не так с моим кодом, потому что этот же код иногда применяет вложенный к моему индексу, а иногда нет.
Почему?
Я что-то забыл?
.Mappings переопределяет аннотации? Может ли быть конфликт сопоставления между аннотацией и .Mappings
?
client = new ElasticClient(settings);
if (client.IndexExists(defaultIndexName).Exists)
client.DeleteIndex(defaultIndexName);
client.CreateIndex(defaultIndexName, c => c
.Mappings(ms => ms
.Map<Store>(m => m
.AutoMap()
.Properties(p => p
.Nested<Product>(n => n
.Name(nn => nn.Products)
.AutoMap()
.Properties(pps => pps
.Keyword(k => k
.Name(l => l.Label)
))
)
)
)
)
);
Pocos
public class Store
{
public int Id { get; set; }
[Keyword]
public string Name{ get; set; }
[Nested]
public List<Product> Products{ get; set; }
}
Продукт
public class Product
{
public int Id { get; set; }
public double Price { get; set; }
[Keyword]
public string Label { get; set; }
public double Quantity { get; set; }
public double Total { get; set; }
public int StoreId { get; set; }
}