Как использовать плагин Elasticsearch ingest-attachment с форматом CBOR в.Net client Nest
Все,
Я пытаюсь использовать плагин ingest-attachment для индексирования файлов в Elasticsearch. Я использую.Net клиент Nest. Я хотел бы использовать формат CBOR, а не строку, закодированную в base64. Я хотел бы знать, правильно ли то, что я делаю, и любые подводные камни, которые я должен предвидеть. Вот соответствующие части моего кода
public class Document
{
[Text(Ignore = true)]
public string Id { get; set; }
public byte[] Content { get; set; }
public Attachment Attachment { get; set; }
}
public IEnumerable<Document> Packages => this._files.SelectMany(this.LazilyReadDumps);
public IEnumerable<Document> LazilyReadDumps(string file)
{
var bytesFile = File.ReadAllBytes(file);
yield return new Document { Id = Path.GetFileName(file), Content = bytesFile };
}
Client.PutPipeline("attachments", p => p
.Processors(pr => pr
.Attachment<Document>(a => a
.IndexedCharacters(-1)
.Field(f => f.Content)
.TargetField(f => f.Attachment)
.Properties("content"))
.Remove<Document>(r => r.Field(f => f.Content))));
var bulkAll = Client.BulkAll(packages, b => b
.Pipeline("attachments")
.BackOffRetries(2)
.BackOffTime("30s")
.RefreshOnCompleted(true)
.MaxDegreeOfParallelism(4)
.Size(1000)
);
Я в основном обеспокоен использованием File.ReadAllbytes, что-нибудь, что я должен остерегаться? Спасибо за помощь