Reo.Core.Elastic
10.0.3
See the version list below for details.
dotnet add package Reo.Core.Elastic --version 10.0.3
NuGet\Install-Package Reo.Core.Elastic -Version 10.0.3
<PackageReference Include="Reo.Core.Elastic" Version="10.0.3" />
<PackageVersion Include="Reo.Core.Elastic" Version="10.0.3" />
<PackageReference Include="Reo.Core.Elastic" />
paket add Reo.Core.Elastic --version 10.0.3
#r "nuget: Reo.Core.Elastic, 10.0.3"
#:package Reo.Core.Elastic@10.0.3
#addin nuget:?package=Reo.Core.Elastic&version=10.0.3
#tool nuget:?package=Reo.Core.Elastic&version=10.0.3
Reo.Core.Elastic
Описание пакета
Reo.Core.Elastic — это библиотека для интеграции с Elasticsearch в .NET-приложениях. Пакет предоставляет инструменты для работы с большими объемами данных, реализации проверок состояния (health checks), сортировки, пагинации и других операций, связанных с Elasticsearch. Он решает задачи эффективного взаимодействия с Elasticsearch, обеспечивая масштабируемость, устойчивость и удобство использования.
Основные функции:
- Пагинация и чанковая обработка данных (Bulk Search) для работы с большими индексами.
- Сортировка результатов по произвольным полям.
- Проверка состояния (Health Check) Elasticsearch-кластера.
- Поддержка аутентификации и настройки подключения через конфигурацию.
Основные компоненты
1. IElasticBulkSearchDescriptor<TModel>
Интерфейс для поиска данных в Elasticsearch чанками. Позволяет получать результаты по частям, обрабатывая большие наборы данных без перегрузки памяти.
2. ElasticsearchHealthCheck
Сервис для проверки работоспособности Elasticsearch-кластера. Используется в ASP.NET Core для мониторинга состояния Elasticsearch.
3. SortingOptions
Класс для настройки параметров сортировки (поле, направление). Используется в методах поиска для упорядочивания результатов.
4. ElasticBulkSearchExtensions
Расширения для построения дескриптора поиска чанками. Обеспечивает интеграцию с Elasticsearch через
IElasticBulkSearchDescriptor<TModel>.
Требования
Совместимость с .NET
- .NET 6.0 и выше
Зависимости
Установка
NuGet Package Manager
Install-Package Reo.Core.Elastic
.NET CLI
dotnet add package Reo.Core.Elastic
Настройка
Регистрация в ASP.NET Core
Добавьте сервисы в Startup.cs или Program.cs:
services.AddElasticsearchCluster(options =>
{
options.Uris = new[] { "http://localhost:9200" };
options.UserName = "admin";
options.Password = "password";
});
Конфигурационные параметры
Uris: Список URI Elasticsearch-кластеров.UserName/Password: Данные для аутентификации (если требуется).IsHealthCheckEnabled: Флаг для включения/отключения проверки состояния.
Использование
Пример 1: Проверка состояния Elasticsearch
var healthCheckResult = await services.GetService<IElasticsearchHealthCheck>().CheckHealthAsync();
Console.WriteLine($"Elasticsearch status: {healthCheckResult.Status}");
Пример 2: Поиск чанками с пагинацией
var bulkSearchDescriptor = await elasticClient.BuildBulkSearchDescriptorAsync(new BulkSearchRequest
{
IndexName = "my_index",
ChunkSize = 100
});
while (bulkSearchDescriptor.HasMoreResults)
{
var chunk = await bulkSearchDescriptor.GetNextChunkAsync();
foreach (var item in chunk)
{
Console.WriteLine(item);
}
}
Пример 3: Сортировка результатов
var sortedResults = await elasticClient.SearchAsync<MyModel>(s =>
s.SetSorting(new SortingOptions
{
SortField = "created_at",
SortDirection = SortDirection.Descending
}));
Лицензия
Данный пакет распространяется под лицензией MIT.
| Product | Versions Compatible and additional computed target framework versions. |
|---|---|
| .NET | net10.0 is compatible. net10.0-android was computed. net10.0-browser was computed. net10.0-ios was computed. net10.0-maccatalyst was computed. net10.0-macos was computed. net10.0-tvos was computed. net10.0-windows was computed. |
-
net10.0
- AspNetCore.HealthChecks.Elasticsearch (>= 9.0.0)
- AspNetCore.HealthChecks.Redis (>= 9.0.0)
- AspNetCore.HealthChecks.UI.Client (>= 9.0.0)
- FluentValidation (>= 12.1.1)
- FluentValidation.AspNetCore (>= 11.3.1)
- Flurl (>= 4.0.0)
- Flurl.Http (>= 4.0.2)
- Flurl.Http.Newtonsoft (>= 0.9.1)
- Humanizer (>= 3.0.1)
- Humanizer.Core (>= 3.0.1)
- Humanizer.Core.ru (>= 3.0.1)
- IdentityModel (>= 7.0.0)
- JetBrains.Annotations (>= 2025.2.4)
- LinqKit.Core (>= 1.2.9)
- MassTransit (>= 8.5.7 && < 9.0.0)
- MassTransit.RabbitMQ (>= 8.5.7 && < 9.0.0)
- Microsoft.AspNetCore.Authentication.JwtBearer (>= 10.0.2)
- Microsoft.AspNetCore.Authentication.OpenIdConnect (>= 10.0.2)
- Microsoft.AspNetCore.Mvc.NewtonsoftJson (>= 10.0.2)
- Microsoft.Bcl.AsyncInterfaces (>= 10.0.2)
- Microsoft.EntityFrameworkCore (>= 10.0.2)
- Microsoft.Extensions.Caching.Abstractions (>= 10.0.2)
- Microsoft.Extensions.Caching.Memory (>= 10.0.2)
- Microsoft.Extensions.Caching.StackExchangeRedis (>= 10.0.2)
- Microsoft.Extensions.Configuration (>= 10.0.2)
- Microsoft.Extensions.Configuration.Abstractions (>= 10.0.2)
- Microsoft.Extensions.Configuration.Binder (>= 10.0.2)
- Microsoft.Extensions.DependencyInjection (>= 10.0.2)
- Microsoft.Extensions.DependencyInjection.Abstractions (>= 10.0.2)
- Microsoft.Extensions.Hosting.Abstractions (>= 10.0.2)
- Microsoft.Extensions.Http.Polly (>= 10.0.2)
- Microsoft.Extensions.Logging (>= 10.0.2)
- Microsoft.Extensions.Logging.Abstractions (>= 10.0.2)
- Microsoft.Extensions.Options (>= 10.0.2)
- Microsoft.Extensions.Options.ConfigurationExtensions (>= 10.0.2)
- NEST (>= 7.17.5)
- NEST.JsonNetSerializer (>= 7.17.5)
- Newtonsoft.Json (>= 13.0.4)
- Polly (>= 8.5.0)
- RabbitMQ.Client (>= 7.2.0)
- RedLock.net (>= 2.3.2)
- Reo.Core.Application.Abstractions (>= 10.0.3)
- Reo.Core.AsyncOperations (>= 10.0.3)
- Reo.Core.DataModels (>= 10.0.3)
- Reo.Core.Extensions (>= 10.0.3)
- Reo.Core.IdentityModel (>= 10.0.3)
- stbychkov.AutoLoggerMessage (>= 1.0.15)
- Swashbuckle.AspNetCore (>= 10.1.0)
- System.ComponentModel.Annotations (>= 5.0.0)
- System.IO.Abstractions (>= 22.1.0)
- System.Linq.Async (>= 7.0.0)
NuGet packages (13)
Showing the top 5 NuGet packages that depend on Reo.Core.Elastic:
| Package | Downloads |
|---|---|
|
Reo.Core.Testing
Package Description |
|
|
Reo.Core.Elastic.Geo
Package Description |
|
|
Reo.Core.IntegrationTesting
Package Description |
|
|
Reo.Fs.Map.Common
Package Description |
|
|
Reo.MnoApi.Sensors
Package Description |
GitHub repositories
This package is not used by any popular GitHub repositories.
| Version | Downloads | Last Updated |
|---|---|---|
| 10.0.32 | 0 | 2/13/2026 |
| 10.0.31 | 0 | 2/13/2026 |
| 10.0.30 | 42 | 2/12/2026 |
| 10.0.29 | 42 | 2/12/2026 |
| 10.0.28 | 65 | 2/11/2026 |
| 10.0.27 | 69 | 2/11/2026 |
| 10.0.26 | 93 | 2/9/2026 |
| 10.0.25 | 88 | 2/9/2026 |
| 10.0.24 | 100 | 2/9/2026 |
| 10.0.23 | 86 | 2/9/2026 |
| 10.0.22 | 86 | 2/9/2026 |
| 10.0.21 | 93 | 2/9/2026 |
| 10.0.20 | 91 | 2/9/2026 |
| 10.0.15 | 98 | 2/6/2026 |
| 10.0.14 | 102 | 2/6/2026 |
| 10.0.13 | 307 | 2/4/2026 |
| 10.0.12 | 121 | 2/3/2026 |
| 10.0.11 | 134 | 2/2/2026 |
| 10.0.10 | 130 | 1/29/2026 |
| 10.0.3 | 134 | 1/23/2026 |