Rename Examine based entity search service (#15991)

* Rename Examine based entity search service

* Add a few comments to make it easier to tell the "indexed" search service from the "regular" one.
This commit is contained in:
Kenn Jacobsen
2024-04-05 17:42:08 +02:00
committed by GitHub
parent 45e584c061
commit b552ccb885
8 changed files with 34 additions and 24 deletions

View File

@@ -12,12 +12,12 @@ namespace Umbraco.Cms.Api.Management.Controllers.Document.Item;
[ApiVersion("1.0")]
public class SearchDocumentItemController : DocumentItemControllerBase
{
private readonly IExamineEntitySearchService _examineEntitySearchService;
private readonly IIndexedEntitySearchService _indexedEntitySearchService;
private readonly IDocumentPresentationFactory _documentPresentationFactory;
public SearchDocumentItemController(IExamineEntitySearchService examineEntitySearchService, IDocumentPresentationFactory documentPresentationFactory)
public SearchDocumentItemController(IIndexedEntitySearchService indexedEntitySearchService, IDocumentPresentationFactory documentPresentationFactory)
{
_examineEntitySearchService = examineEntitySearchService;
_indexedEntitySearchService = indexedEntitySearchService;
_documentPresentationFactory = documentPresentationFactory;
}
@@ -26,7 +26,7 @@ public class SearchDocumentItemController : DocumentItemControllerBase
[ProducesResponseType(typeof(PagedModel<DocumentItemResponseModel>), StatusCodes.Status200OK)]
public async Task<ActionResult> Search(string query, int skip = 0, int take = 100)
{
PagedModel<IEntitySlim> searchResult = _examineEntitySearchService.Search(UmbracoObjectTypes.Document, query, skip, take);
PagedModel<IEntitySlim> searchResult = _indexedEntitySearchService.Search(UmbracoObjectTypes.Document, query, skip, take);
var result = new PagedModel<DocumentItemResponseModel>
{
Items = searchResult.Items.OfType<IDocumentEntitySlim>().Select(_documentPresentationFactory.CreateItemResponseModel),

View File

@@ -12,12 +12,12 @@ namespace Umbraco.Cms.Api.Management.Controllers.Media.Item;
[ApiVersion("1.0")]
public class SearchMediaItemController : MediaItemControllerBase
{
private readonly IExamineEntitySearchService _examineEntitySearchService;
private readonly IIndexedEntitySearchService _indexedEntitySearchService;
private readonly IMediaPresentationFactory _mediaPresentationFactory;
public SearchMediaItemController(IExamineEntitySearchService examineEntitySearchService, IMediaPresentationFactory mediaPresentationFactory)
public SearchMediaItemController(IIndexedEntitySearchService indexedEntitySearchService, IMediaPresentationFactory mediaPresentationFactory)
{
_examineEntitySearchService = examineEntitySearchService;
_indexedEntitySearchService = indexedEntitySearchService;
_mediaPresentationFactory = mediaPresentationFactory;
}
@@ -26,7 +26,7 @@ public class SearchMediaItemController : MediaItemControllerBase
[ProducesResponseType(typeof(PagedModel<MediaItemResponseModel>), StatusCodes.Status200OK)]
public async Task<ActionResult> Search(string query, int skip = 0, int take = 100)
{
PagedModel<IEntitySlim> searchResult = _examineEntitySearchService.Search(UmbracoObjectTypes.Media, query, skip, take);
PagedModel<IEntitySlim> searchResult = _indexedEntitySearchService.Search(UmbracoObjectTypes.Media, query, skip, take);
var result = new PagedModel<MediaItemResponseModel>
{
Items = searchResult.Items.OfType<IMediaEntitySlim>().Select(_mediaPresentationFactory.CreateItemResponseModel),

View File

@@ -12,12 +12,12 @@ namespace Umbraco.Cms.Api.Management.Controllers.Member.Item;
[ApiVersion("1.0")]
public class SearchMemberItemController : MemberItemControllerBase
{
private readonly IExamineEntitySearchService _examineEntitySearchService;
private readonly IIndexedEntitySearchService _indexedEntitySearchService;
private readonly IMemberPresentationFactory _memberPresentationFactory;
public SearchMemberItemController(IExamineEntitySearchService examineEntitySearchService, IMemberPresentationFactory memberPresentationFactory)
public SearchMemberItemController(IIndexedEntitySearchService indexedEntitySearchService, IMemberPresentationFactory memberPresentationFactory)
{
_examineEntitySearchService = examineEntitySearchService;
_indexedEntitySearchService = indexedEntitySearchService;
_memberPresentationFactory = memberPresentationFactory;
}
@@ -26,7 +26,7 @@ public class SearchMemberItemController : MemberItemControllerBase
[ProducesResponseType(typeof(PagedModel<MemberItemResponseModel>), StatusCodes.Status200OK)]
public async Task<ActionResult> Search(string query, int skip = 0, int take = 100)
{
PagedModel<IEntitySlim> searchResult = _examineEntitySearchService.Search(UmbracoObjectTypes.Member, query, skip, take);
PagedModel<IEntitySlim> searchResult = _indexedEntitySearchService.Search(UmbracoObjectTypes.Member, query, skip, take);
var result = new PagedModel<MemberItemResponseModel>
{
Items = searchResult.Items.OfType<IMemberEntitySlim>().Select(_memberPresentationFactory.CreateItemResponseModel),

View File

@@ -3,6 +3,9 @@ using Umbraco.Cms.Core.Models.Entities;
namespace Umbraco.Cms.Core.Services;
/// <summary>
/// Performs entity search directly against the database.
/// </summary>
public interface IEntitySearchService
{
PagedModel<IEntitySlim> Search(UmbracoObjectTypes objectType, string query, int skip = 0, int take = 100);

View File

@@ -1,9 +0,0 @@
using Umbraco.Cms.Core.Models;
using Umbraco.Cms.Core.Models.Entities;
namespace Umbraco.Cms.Core.Services;
public interface IExamineEntitySearchService
{
PagedModel<IEntitySlim> Search(UmbracoObjectTypes objectType, string query, int skip = 0, int take = 100, bool ignoreUserStartNodes = false);
}

View File

@@ -0,0 +1,16 @@
using Umbraco.Cms.Core.Models;
using Umbraco.Cms.Core.Models.Entities;
namespace Umbraco.Cms.Core.Services;
/// <summary>
/// Performs entity search against search indexes.
/// </summary>
/// <remarks>
/// Note that this service only supports entity types that are included in search indexes.
/// By default this means documents, media and members.
/// </remarks>
public interface IIndexedEntitySearchService
{
PagedModel<IEntitySlim> Search(UmbracoObjectTypes objectType, string query, int skip = 0, int take = 100, bool ignoreUserStartNodes = false);
}

View File

@@ -63,7 +63,7 @@ public static partial class UmbracoBuilderExtensions
builder.Services.AddUnique<IContentListViewService, ContentListViewService>();
builder.Services.AddUnique<IMediaListViewService, MediaListViewService>();
builder.Services.AddUnique<IEntitySearchService, EntitySearchService>();
builder.Services.AddUnique<IExamineEntitySearchService, ExamineEntitySearchService>();
builder.Services.AddUnique<IIndexedEntitySearchService, IndexedEntitySearchService>();
return builder;
}

View File

@@ -8,12 +8,12 @@ using Umbraco.Cms.Infrastructure.Examine;
namespace Umbraco.Cms.Infrastructure.Services.Implement;
internal sealed class ExamineEntitySearchService : IExamineEntitySearchService
internal sealed class IndexedEntitySearchService : IIndexedEntitySearchService
{
private readonly IBackOfficeExamineSearcher _backOfficeExamineSearcher;
private readonly IEntityService _entityService;
public ExamineEntitySearchService(IBackOfficeExamineSearcher backOfficeExamineSearcher, IEntityService entityService)
public IndexedEntitySearchService(IBackOfficeExamineSearcher backOfficeExamineSearcher, IEntityService entityService)
{
_backOfficeExamineSearcher = backOfficeExamineSearcher;
_entityService = entityService;