Как использовать плагин 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, что-нибудь, что я должен остерегаться? Спасибо за помощь

0 ответов

Другие вопросы по тегам