diff --git a/modules/docs/src/Volo.Docs.Domain/Volo/Docs/Documents/FullSearch/Elastic/ElasticDocumentFullSearch.cs b/modules/docs/src/Volo.Docs.Domain/Volo/Docs/Documents/FullSearch/Elastic/ElasticDocumentFullSearch.cs index c0a5b1295f..1bf5cb873f 100644 --- a/modules/docs/src/Volo.Docs.Domain/Volo/Docs/Documents/FullSearch/Elastic/ElasticDocumentFullSearch.cs +++ b/modules/docs/src/Volo.Docs.Domain/Volo/Docs/Documents/FullSearch/Elastic/ElasticDocumentFullSearch.cs @@ -58,6 +58,12 @@ namespace Volo.Docs.Documents.FullSearch.Elastic public virtual async Task AddOrUpdateAsync(Document document, CancellationToken cancellationToken = default) { var client = _clientProvider.GetClient(); + + var existsResponse = await client.DocumentExistsAsync(DocumentPath.Id(NormalizeField(document.Id)), x => x.Index(_options.IndexName), cancellationToken); + if (existsResponse.Exists) + { + await DeleteAsync(document.Id, cancellationToken); + } var esDocument = new EsDocument {