Hi Richard, all your data seem to be available at indexing time, am I correct? Why don't you do the math at index time and just index the result on a field, on which you can sort later at query time?
On Thu, Jun 2, 2011 at 7:26 AM, Richard Hodsdon <hodsdon.rich...@gmail.com>wrote: > Hi, > > I want to do a similar sorting function query to the way reddit handles its > ranking. > I have the date stored in a > <fieldType name="tdate" class="solr.TrieDateField" omitNorms="true" > precisionStep="6" positionIncrementGap="0"/> > > I also have the number of twitter, facebook and reads from our site stored. > below is the pseudo code that I want to work out. > > var t = (CreationDate - 1131428803) / 1000; > var x = FacebookCount + TwitterCount + VoteCount - DownVoteCount; > var y = 0; > if (x > 0) { > y = 1; > } else if (x == 0) { > y = 0; > } else if (x < 0) { > y = -1; > } > var z = 1; > var absX = Math.abs(x); > if (absX >= 1) { > z = absX; > } > var ranking = (Math.log(z) / Math.LN10) + ((y * t) / 45000); > > I have no Java experience so I cannot re-write it as a custom function. > This is my current query I am trying to use. > > > http://127.0.0.1:8983/solr/select?q.alt=*:*&fq=content_type:news&start=0&rows=10&wt=json&indent=on&omitHeader=true > > &fl=id,name,excerpt,timestamp,domain,source,facebook,twitter,read,imageheight > &defType=dismax > &tt=div(sub(_val_:timestamp,1131428803),1000) > &xx=sub(sum(facebook,twitter,read),0) > > &yy=map(query($xx),1,99999999,1,map(query($xx),0,0,0,map(query($xx),-99999999,-1,-1,0))) > &zz=map(abs(query($xx)),-999999999,0,1) > > &sort=sum(div(log(query($zz)),ln(10)),div(product(query($yy),query($tt)),45000)) > desc > > Currently I am getting errors relating to my date field when trying to > convert it from the TrieDate to timestamp with the _val_:MyDateField. > > Also I wanted to know if their is another way to do this? If my query is > even correct. > > Thanks in advance > > Richard > > > -- > View this message in context: > http://lucene.472066.n3.nabble.com/Sorting-algorithm-tp3014549p3014549.html > Sent from the Solr - User mailing list archive at Nabble.com. >