Elastic.Ingest.Elasticsearch 0.7.0

前缀已保留
dotnet add package Elastic.Ingest.Elasticsearch --version 0.7.0                
NuGet\Install-Package Elastic.Ingest.Elasticsearch -Version 0.7.0                
此命令旨在在Visual Studio的包管理器控制台内使用,因为它使用NuGet模块的Install-Package版本。
<PackageReference Include="Elastic.Ingest.Elasticsearch" Version="0.7.0" />                
对于支持PackageReference的项目,将此XML节点复制到项目文件中以引用该软件包。
paket add Elastic.Ingest.Elasticsearch --version 0.7.0                
#r "nuget: Elastic.Ingest.Elasticsearch, 0.7.0"                
#r指令可用于F# Interactive和多语言笔记本。将此内容复制到交互式工具或脚本的源代码中以引用软件包。
// Install Elastic.Ingest.Elasticsearch as a Cake Addin
#addin nuget:?package=Elastic.Ingest.Elasticsearch&version=0.7.0

// Install Elastic.Ingest.Elasticsearch as a Cake Tool
#tool nuget:?package=Elastic.Ingest.Elasticsearch&version=0.7.0                

Elastic.Ingest.Elasticsearch

Elastic.Channels实现了BufferedChannelBase,允许数据推送到索引或数据流中

DataStreamChannel<TEvent>

这是一种专门用于将带有时间戳的数据写入Elasticsearch数据流的通道。例如,给定以下文档。

public class TimeSeriesDocument
{
    [JsonPropertyName("@timestamp")]
    public DateTimeOffset Timestamp { get; set; }

    [JsonPropertyName("message")]
    public string Message { get; set; }
}

可以创建一个通道将数据推送到logs-dotnet-default数据流。

var dataStream = new DataStreamName("logs", "dotnet");
var bufferOptions = new BufferOptions { }
var options = new DataStreamChannelOptions<TimeSeriesDocument>(transport)
{
  DataStream = dataStream,
  BufferOptions = bufferOptions
};
var channel = new DataStreamChannel<TimeSeriesDocument>(options);

注意:有关Elastic数据流命名约定的更多信息,请参见此处:https://elastic.ac.cn/blog/an-introduction-to-the-elastic-data-stream-naming-scheme

现在我们可以使用DataStreamChannel将数据推送到Elasticsearch。

var doc = new TimeSeriesDocument 
{ 
    Timestamp = DateTimeOffset.Now, 
    Message = "Hello World!", 
}
channel.TryWrite(doc);

目标数据流初始化

可选地,可以使用以下方式初始化目标数据流。

await channel.BootstrapElasticsearchAsync(BootstrapMethod.Failure, "7-days-default"); 

这将尝试设置目标数据流,并使用7-days-default ILM策略。如果失败(因为提供了BootstrapMethod.Failure),则引发异常。

将根据目标数据流的部分类型和数据集创建索引模板以及相关的组件模板。

IndexChannel<TEvent>

一个专门用于将目录数据写入Elastic索引的通道。目录数据通常是具有某种标识符的。

给定以下最小化文档

public class CatalogDocument
{
    [JsonPropertyName("id")]
    public string Id { get; set; }

    [JsonPropertyName("title")]
    public string Title { get; set; }

    [JsonPropertyName("created")]
    public DateTimeOffset Created { get; set; }
}

我们可以创建一个IndexChannel<>来推送CatalogDocument实例。

var options = new IndexChannelOptions<CatalogDocument>(transport)
{
    IndexFormat = "catalog-data-{0:yyyy.MM.dd}",
    BulkOperationIdLookup = c => c.Id,
    TimestampLookup = c => c.Created,
};
var channel = new IndexChannel<CatalogDocument>(options);

现在我们可以使用以下方式推送数据

var doc = new CatalogDocument 
{ 
    Created = date, 
    Title = "Hello World!", 
    Id = "hello-world" 
}
channel.TryWrite(doc);

这将向catalog-data-2023.01.1推送数据,因为TimestampLookup给出了对IndexFormatCreated值。

IndexFormat也可以简单地是一个固定字符串,用于写入Elasticsearch别名/索引。

BulkOperationIdLookup决定了文档应该使用create还是index操作推送到Elasticsearch。

引导目标索引

可选地,可以使用以下方式对目标索引进行引导。

await channel.BootstrapElasticsearchAsync(BootstrapMethod.Failure, "7-days-default"); 

这将尝试设置目标数据流,并使用7-days-default ILM策略。如果失败(因为提供了BootstrapMethod.Failure),则引发异常。

将根据名称使用IndexFormat创建具有配套组件模板的索引模板。

产品 兼容的并额外的计算目标框架版本。
.NET net5.0 已计算。  net5.0-windows 已计算。  net6.0 已计算。  net6.0-android 已计算。  net6.0-ios 已计算。  net6.0-maccatalyst 已计算。  net6.0-macos 已计算。  net6.0-tvos 已计算。  net6.0-windows 已计算。  net7.0 已计算。  net7.0-android 已计算。  net7.0-ios 已计算。  net7.0-maccatalyst 已计算。  net7.0-macos 已计算。  net7.0-tvos 已计算。  net7.0-windows 已计算。  net8.0 已计算。  net8.0-android 已计算。  net8.0-browser 已计算。  net8.0-ios 已计算。  net8.0-maccatalyst 已计算。  net8.0-macos 已计算。  net8.0-tvos 已计算。  net8.0-windows 已计算。 
.NET Core netcoreapp2.0 已计算。  netcoreapp2.1 已计算。  netcoreapp2.2 已计算。  netcoreapp3.0 已计算。  netcoreapp3.1 已计算。 
.NET Standard netstandard2.0 is compatible.  netstandard2.1 is compatible. 
.NET Framework net461 was computed.  net462 was computed.  net463 was computed.  net47 was computed.  net471 was computed.  net472 was computed.  net48 was computed.  net481 was computed. 
MonoAndroid monoandroid was computed. 
MonoMac monomac was computed. 
MonoTouch monotouch was computed. 
Tizen tizen40 was computed.  tizen60 was computed. 
Xamarin.iOS xamarinios was computed. 
Xamarin.Mac xamarinmac was computed. 
Xamarin.TVOS xamarintvos was computed. 
Xamarin.WatchOS xamarinwatchos was computed. 
兼容的目标框架
包中包含的目标框架
了解更多关于目标框架.NET Standard的信息。

NuGet包 (1)

显示依赖Elastic.Ingest.Elasticsearch的顶级1个NuGet包

下载
Elastic.Ingest.Elasticsearch.CommonSchema

包描述

GitHub仓库

此包未用于任何流行的GitHub仓库。

版本 下载 最后更新
0.7.0 132,759 4/10/2024
0.6.0 201 3/28/2024
0.5.7 7,384 2/13/2024
0.5.6 337 1/22/2024
0.5.5 449,180 7/12/2023
0.5.4 157 7/10/2023
0.5.3 191 7/5/2023
0.5.2 197 6/22/2023
0.5.1 172 5/4/2023
0.5.0 83,215 4/28/2023
0.4.3 204 4/17/2023
0.4.2 337 4/5/2023
0.4.1 168 4/5/2023
0.4.0 182 4/5/2023
0.3.2 19,499 2/27/2023
0.3.1 655 2/20/2023
0.3.0 293 2/16/2023
0.2.2 475 1/31/2023
0.2.1 292 1/31/2023
0.2.0 290 1/31/2023
0.1.0 488 1/25/2023