Ticket #714 (new Task)

Opened 4 years ago

Last modified 4 years ago

SERVICES SPRINT 09 - Search engine sorting/paging

Reported by: markmorgan Owned by: allyn
Priority: major Milestone: M4.5 Web Services Deployed
Component: WP4 - Metafor Portal Version: Month 36
Keywords: Cc:
Requirement: http://metaforclimate.eu/Work-Package-2/Developing-the-CIM/Project-Requirements-summary.htm

Description

Search queries should support both paging & sorting. Typically the search input contain the following:

  1. Criteria;
  2. Page index;
  3. Sort criteria - field and direction;

Whereas the search output should contain the following information:

  1. Standard information:

1.1 Query time; 1.2 Total results in database; 1.3 Current page;

  1. Results (as a list of summary information);

Change History

comment:1 Changed 4 years ago by markmorgan

  • Summary changed from SERVICES SPRINT 09 - Portal search to SERVICES SPRINT 09 - Portal search engine

comment:2 Changed 4 years ago by markmorgan

  • Summary changed from SERVICES SPRINT 09 - Portal search engine to SERVICES SPRINT 09 - Search engine sorting/paging

comment:3 Changed 4 years ago by allyn

Having just about finished adding paging/sorting capability to the XQuery, I have the following question/observation:

Is paging/sorting query (server) logic or presentation (portal) logic?

Consider the following scenario:

A user issues a query which has 100 hits in the database. The paging size happens to be 25. The default ordering of the results is by "relevance." So, the query returns the first page of 25 hits. Easy.

Now, the user decides to reorder things by "name." Shouldn't the query return another 25 hits, and not just the previously returned set reordered? The original 100 hits has to be reordered by name which will almost certainly mean that the initial 25 are different from when the original set was ordered by relevance. Therefore, a new query should be issued.

Is this correct, or should the query return the complete set of 100 and let the GUI worry about paging/sorting?

Note: See TracTickets for help on using tickets.