Как использовать ttl в эластичном API на Esesearch (NEST)
Я пытаюсь использовать массовый API с помощью клиента NEST. Как я могу указать значение TTL на основе атрибута коллекции. Рассмотрим следующий фрагмент кода, как я могу указать "ttl", чтобы сказать person.Age > 50 -> 1 месяц, иначе 6 месяцев?:
var coll = new List<Person>();
// fill the collection from db etc...
var desc = new BulkDescriptor();
foreach(var p in coll)
{
// desc.Index<Person>( .... );
// How can I say, "if person.Age > 50, ttl = 1 month, otherwise 6 months?
}
var result = client.Bulk(desc);
1 ответ
Решение
desc.Index<Person>(i => i
.Document(p)
.Ttl(p.Age > 50 ? "1M" : "6M")
);