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
> 
> 

Reply via email to