On 14-May-07, at 10:05 PM, James liu wrote:
2007/5/15, Mike Klaas <[EMAIL PROTECTED]>:
I'm not ignoring it: I'm implying that the above is the correct
descending score-sorted order. You have to perform that sort
manually.
i mean merged results(from 60 p) and sort it, not solr's sort.
every result from box have been sorted by score.
Yep, me too.
so it will not sorted by score correctly.
>
> and if user click page 2 to see, how to show data?
>
> p1 start from 10 or query other partitions?
Assemble results 1 through 20, then display 11-20 to the user.
for example, i wanna query "solr"
p1 have 100 results which score is bigger than 80
p2 have 100 results which score is smaller than 20
so if i use rows=10, score not correct.
if i wanna promise 10 pages which sort by score correctly.
so i have to get 100(rows=100) results from every box.
and merge results, sort it, finallay get top 100 results.
but it will very slow.
i don't know other search how to solve it? maybe they not sort by
score very
correctly.
Hmm, I feel as though we are going in circles.
If you want to cache the top 100 documents for a query, there is
essentially no efficient means of accumulating these results in one
request--as you note, to be sure of having the top 100 documents, 100
documents from each partition must be requested.
Your options are essentially:
1) request a smaller number of documents, and accept some
inaccuracies (frinstance, if you request 10 docs, then the first page
is guaranteed to be correct, but page 10 probably won't be quite right)
2) request a smaller number of documents and attempt to assemble the
top 100 docs. if you can't, then request more documents from the
partitions that were exhausted soonest.
Keep in mind also that the scores across independent solr partitions
are comparable, but not exact, due to idf differences. The relative
exactitude of page 10 results might not be too important.
-Mike