Debasish
08/12/2024, 7:01 AMpublic class ExamineComposer : IComposer
{
public void Compose(IUmbracoBuilder builder)
{
builder.Services.ConfigureOptions<ConfigureExternalIndexOptions>();
}
}
public class ConfigureExternalIndexOptions : IConfigureNamedOptions<LuceneDirectoryIndexOptions>
{
public void Configure(string? name, LuceneDirectoryIndexOptions options)
{
options.FieldDefinitions.AddOrUpdate(new FieldDefinition("aggregationTitleSortable", FieldDefinitionTypes.FullTextSortable));
}
}
Search Service
public SearchResponseModel ServicePartnerSearch(SearchRequestModel searchRequest)
{
IBooleanOperation? query = index.Searcher.CreateQuery(IndexTypes.Content).NodeTypeAlias("servicePartnerPage").And()
.GroupedNot(new string[] { "umbracoNavHide" }, new string[] { "1" });
if (searchRequest.SelectedPartnerTypeTags != null)
{
query.And().GroupedOr(new string[] { "partnerTypeCustom" }, searchRequest.SelectedPartnerTypeTags);
}
if (searchRequest.SelectedContinentTags != null)
{
query.And().GroupedOr(new string[] { "continentCustom" }, searchRequest.SelectedContinentTags);
}
query.OrderBy(new SortableField("aggregationTitleSortable", SortType.String));
ISearchResults? pageOfResults = query.Execute(new QueryOptions(searchRequest.Skip, searchRequest.PageSize));
return new SearchResponseModel(searchRequest.Query, pageOfResults.TotalItemCount, pageOfResults);
}
I can see the value getting correctly set also.(screenshot attached)
Can someone please point me if I am doing something wrong?
https://cdn.discordapp.com/attachments/1272449772145344522/1272449772388749423/Examine_sort_issue.png?ex=66bb04b2&is=66b9b332&hm=16df3d0bd662183ca069a363f21fbd29d9ee087b73f5e5d2be6ce1b61fc87ad4&Debasish
08/13/2024, 5:12 AMDebasish
08/14/2024, 8:37 AMJason
08/15/2024, 8:40 AMhuwred
08/15/2024, 9:22 AMDebasish
08/15/2024, 9:32 AM