Why do you want to do this in Solr? This would be pretty easy in SQL. If you want to sort, use a relational database.
wunder Walter Underwood wun...@wunderwood.org http://observer.wunderwood.org/ (my blog) > On Aug 18, 2017, at 2:52 AM, Luca Dall'Osto <tenacious...@yahoo.it.INVALID> > wrote: > > Hello Tom, > thanks for you reply. > As say in last email, I made the custom function in JS.I posted in pastebin > right now: https://pastebin.com/faXNi0fR > > > What I have to do is create the same function in Solr... I will take a look > to your link and try to create the custom function. > Thanks > > > Luca > > > > > On Friday, August 18, 2017 10:58 AM, Tom Evans <tevans...@googlemail.com> > wrote: > > > On Fri, Aug 18, 2017 at 8:21 AM, Luca Dall'Osto > <tenacious...@yahoo.it.invalid> wrote: >> >> Yes, of course, and excuse me for the misunderstanding. >> >> >> In my scenario I have to display a list with hundreds of documents. >> An user can show this documents in a particular order, this order is decided >> by user in a settings view. >> >> >> Order levels are for example: >> 1) Order by category, as most important. >> 2) Order by source, as second level. >> 3) Order by date (ascending or descending). >> 4) Order by title (ascending or descending). >> >> >> For category order, in settings view, user has an box with a list of all >> categories available for him/her. >> User drag&drop elements of the list to set in the favorite order. >> Same thing for sources. >> > > Solr can only sort by indexed fields, it needs to be able to compare > one document to another document, and the only information available > at that point are the indexed fields. > > This would be untenable in your scenario, because you cannot add a > category.<userid>.sort_order field to every document for every user. > > If this custom sorting is a hard requirement, the only feasible > solution I see is to write a custom sorting plugin, that provides a > function that you can sort on. This blog post describes how this can > be achieved: > > https://medium.com/culture-wavelabs/sorting-based-on-a-custom-function-in-solr-c94ddae99a12 > > I would imagine that you would need one sort function, maybe called > usersortorder(), to which you would provide the users preferred sort > ordering (which you would retrieve from wherever you store such > information) and the field that you want sorted. It would look > something like this: > > usersortorder("category_id", "3,5,1,7,2,12,14,58") DESC, > usersortorder("source_id", "5,2,1,4,3") DESC, date DESC, title DESC > > Cheers > > Tom > >