using AobaCore.Models; using Microsoft.Extensions.Hosting; using MongoDB.Bson; using MongoDB.Bson.Serialization; using MongoDB.Bson.Serialization.Serializers; using MongoDB.Driver; namespace AobaCore.Services; public class AobaIndexCreationService(IMongoDatabase db): BackgroundService { private readonly IMongoCollection _media = db.GetCollection("media"); protected override async Task ExecuteAsync(CancellationToken stoppingToken) { BsonSerializer.RegisterSerializer(new EnumSerializer(BsonType.String)); var textKeys = Builders.IndexKeys .Text(m => m.Filename); var textModel = new CreateIndexModel(textKeys, new CreateIndexOptions { Name = "Text", Background = true }); await _media.EnsureIndexAsync(textModel); } }