Episerver Find - .ThenBy with a string gives Exceptions on DXC integration

Marija Jemuovic
Member since: 2010
 

Hey,

Find version 13.0.5

I am having two versions of the same code, one using ThenBy with an int (SortIndex) and the other using ThenBy with a string (Name). Both are searching an ISearchable, implemented by all page types (_findClient.Search() is used) and Name is defined in the interface (inherited essentially by PageData), same with SortIndex.

Order by Name works:

                    result = query
                        .OrderBy(q => q.Name)
                        .GetContentResultSafe(searchCacheSettings, cacheForEditorsAndAdmins);

Then by SortIndex works:

                    result = query
                        .OrderByDescending(q => q.Ranking)
                        .ThenBy(q => q.SortIndex)
                        .GetContentResultSafe(searchCacheSettings, cacheForEditorsAndAdmins);

Then by Name works locally, but not in integration environment:

                    result = query
                        .OrderByDescending(q => q.Ranking)
                        .ThenBy(q => q.Name)
                        .GetContentResultSafe(searchCacheSettings, cacheForEditorsAndAdmins);

The error I get by default is the following:

ReduceSearchPhaseException[Failed to execute phase [query], [reduce] ]; nested: ClassCastException; 

Then, I found this post related to OrderBy: https://world.episerver.com/blogs/Son-Do/Dates/2018/7/sorting-issue-in-episerver-find-13-0-1/

Overload of ThenBy with IgnoreUnmapped:true gives the same exception, overload with ThenBy with IgnoreUnmapped:false gives (in a really long error):

Parse Failure [No mapping found for [Name$$string.sort] in order to sort on]];

Any ideas?

#198677
Edited, Nov 02, 2018 13:08
Johan Kronberg
Member since: 2005
 

Do you get the same error when running against Integration Find index locally?

#198765
Nov 06, 2018 14:00
Marija Jemuovic
Member since: 2010
 

I wanted to try that, but couldn't find the URL in the files on integration.

On production, there seems to be no error (client will verify). So, my best guess is that it's the index.

#198767
Nov 06, 2018 14:02
Johan Kronberg
Member since: 2005
 

You can view the details in the Azure portal or by iterating ConfigurationManager.AppSettings if you want to dig further.

I recall hearing that there were different service versions planned and that you needed to contact Epi if you moved over some version. Not sure on the status here though.

#198768
Nov 06, 2018 14:14
Henrik Fransas
Member since: 2007
 

Maybe it can be that one is still on Amazon and the others on Azure (or the other way).

#198769
Nov 06, 2018 14:19
Marija Jemuovic
Member since: 2010
 

Thx a lot, guys! I've opened the support request referring to this post and the answers!

#198844
Nov 07, 2018 15:25
Henrik Fransas
Member since: 2007
 

Great, keep us updated!

#198846
Nov 07, 2018 15:27