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

Reply via email to