Skip to content

Commit

Permalink
Rename Examine based entity search service (#15991)
Browse files Browse the repository at this point in the history
* Rename Examine based entity search service

* Add a few comments to make it easier to tell the "indexed" search service from the "regular" one.
  • Loading branch information
kjac authored Apr 5, 2024
1 parent 45e584c commit b552ccb
Show file tree
Hide file tree
Showing 8 changed files with 34 additions and 24 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -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;
}

Expand All @@ -26,7 +26,7 @@ public SearchDocumentItemController(IExamineEntitySearchService examineEntitySea
[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),
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -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;
}

Expand All @@ -26,7 +26,7 @@ public SearchMediaItemController(IExamineEntitySearchService examineEntitySearch
[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),
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -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;
}

Expand All @@ -26,7 +26,7 @@ public SearchMemberItemController(IExamineEntitySearchService examineEntitySearc
[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),
Expand Down
3 changes: 3 additions & 0 deletions src/Umbraco.Core/Services/IEntitySearchService.cs
Original file line number Diff line number Diff line change
Expand Up @@ -3,6 +3,9 @@

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);
Expand Down
9 changes: 0 additions & 9 deletions src/Umbraco.Core/Services/IExamineEntitySearchService.cs

This file was deleted.

16 changes: 16 additions & 0 deletions src/Umbraco.Core/Services/IIndexedEntitySearchService.cs
Original file line number Diff line number Diff line change
@@ -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);
}
Original file line number Diff line number Diff line change
Expand Up @@ -63,7 +63,7 @@ internal static IUmbracoBuilder AddServices(this IUmbracoBuilder builder)
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;
}
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -8,12 +8,12 @@

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;
Expand Down

0 comments on commit b552ccb

Please sign in to comment.