[Yanel-dev] Parameters for search results pagination

Mehmet Birgi mehmet.birgi at wyona.com
Mon Jul 12 15:54:42 CEST 2010


On Mon, Jul 12, 2010 at 3:13 PM, Bruno von Rotz <bruno.vonrotz at wyona.com> wrote:
> Hmm, quick question: Do we actually know how many search results there are
> in total? How much effort is it to find this out, I mean machine time. Is
> there any performance impact of doing this this way?

I don't think so. When a search is done, only the lucene (in our
implementation) index is investigated, and the number of results will
be known in any way, so I don't think there is a penalty. No documents
will be fetched at this moment.


> For some application (i.e. ZG) simpler mechanisms may be sufficient.
> Bruno
>
> Mehmet Birgi schrieb:
>>
>> As discussed with Michi offline, we would like to mimic the search
>> results pagination of Google for the Yanel search results, if this is
>> feasible. So I had a look at how Google displays the results:
>>
>> Google displays 10 results per page as a default, this can be changed
>> in the setting to the values "10, 20, 30 , 50, 100".
>>
>> Here is what Google displays on the bottom of the page after the first
>> search and consecutive clicks on "Next" (with the current page in
>> *bold*):
>>
>> 1)                                   *1* 2 3 4 5 6 7 8 9 10 Next
>> 2)                        Previous 1 *2* 3 4 5 6 7 8 9 10 11 Next
>> 3)                      Previous 1 2 *3* 4 5 6 7 8 9 10 11 12 Next
>> 4)                    Previous 1 2 3 *4* 5 6 7 8 9 10 11 12 13 Next
>> 5)                  Previous 1 2 3 4 *5* 6 7 8 9 10 11 12 13 14 Next
>> 6)                Previous 1 2 3 4 5 *6* 7 8 9 10 11 12 13 14 15 Next
>> 7)              Previous 1 2 3 4 5 6 *7* 8 9 10 11 12 13 14 15 16 Next
>> 8)            Previous 1 2 3 4 5 6 7 *8* 9 10 11 12 13 14 15 16 17 Next
>> 9)          Previous 1 2 3 4 5 6 7 8 *9* 10 11 12 13 14 15 16 17 18 Next
>> 10)       Previous 1 2 3 4 5 6 7 8 9 *10* 11 12 13 14 15 16 17 18 19 Next
>> 11)    Previous 1 2 3 4 5 6 7 8 9 10 *11* 12 13 14 15 16 17 18 19 20 Next
>> 12)   Previous 2 3 4 5 6 7 8 9 10 11 *12* 13 14 15 16 17 18 19 20 21 Next
>> 13)  Previous 3 4 5 6 7 8 9 10 11 12 *13* 14 15 16 17 18 19 20 21 22 Next
>> 14) Previous 4 5 6 7 8 9 10 11 12 13 *14* 15 16 17 18 19 20 21 22 23 Next
>>
>> So, what Google is doing seems to be this:
>>
>> 1. Display link "Previous" if there is a previous page
>> 2. Display links to up to 10 previous pages
>> 3. Display the current page number in bold
>> 4. Display links to up to 9 next pages
>> 5. Display link "Next" if there is a next page
>>
>> To parametrize this behaviour, 2 parameters would be needed:
>>
>> * Number of entries to be displayed on a page (Google defaults to 10)
>>
>> * Number of pages to be linked to directly (Google always displays 20
>> page numbers in the bottom, provided there are at least 20 pages of
>> results; of those, the 10 previous and the 9 next pages are linked to)
>>
>> I suggest that we make both numbers configurable, while we set 10
>> resp. 20 as defaults (like Google).
>>
>> This pagination feature can only work if the XSLT displaying these
>> results supports the handling of the necessary parameters, so for
>> backwards compatibility, the pagination feature will be disabled if
>> none of thos parameters is supplied.
>>
>> If there are no objections to those design decisions, I will start the
>> implementation in this direction.
>>
>> Cheers,
>>
>> Memo
>>
>>
>>
>>
>
>
> --
> ______________________________
> Bruno von Rotz
> WYONA
> Hardstrasse 219 CH-8005 Zürich Switzerland P: +41 44 272 91 61 F: +41 44 272
> 91 62 skype: wyona-switzerland
> email: bruno.vonrotz at wyona.com
> www.wyona.com
> --
> Yanel-development mailing list Yanel-development at wyona.com
> http://lists.wyona.org/cgi-bin/mailman/listinfo/yanel-development
>



-- 
Mehmet Birgi
www.wyona.com


More information about the Yanel-development mailing list