Debasish
08/15/2024, 9:34 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/1273575629106970734/1273575629417087048/Examine_sort_issue.png?ex=66bf1d3b&is=66bdcbbb&hm=5a95c35f68d7d4db12654dc3591ecb82e4dd3500116873500b2ba267fa6d309c&Debasish
08/21/2024, 5:23 PM