Table of Contents

Class SearchIndexBackfill

Namespace
UsluzionicaServer.Infrastructure.Search
Assembly
UsluzionicaServer.dll

Popunjava Search* kolone za redove koji su indeksirani starom verzijom pravila (ili nikad).

Zašto uopšte postoji: SQL Server ne može da izvrši C# funkciju Fold(), pa se migracija ne može napisati kao SQL UPDATE. Alternativa bi bila lanac od ~40 ugnježdenih REPLACE-ova u T-SQL-u, koji bi bio collation-zavisan, ne bi umeo NFD, i logika bi živela na dva mesta koja se tiho razilaze.

Zašto SearchVersion: kad se pravila preklapanja promene (nova slova, druga mapa), dovoljno je podići SearchNormalizer.Version — sledeći start sam re-indeksira sve. Bez toga bi svaka promena tražila ručnu intervenciju nad produkcijskom bazom.

Idempotentno: ponovni poziv nad već indeksiranim redovima ne radi ništa.

public static class SearchIndexBackfill
Inheritance
SearchIndexBackfill
Inherited Members

Methods

RunAsync(AppDbContext, ILogger, CancellationToken)