Ticket #515 (closed task: fixed)

Opened 13 years ago

Last modified 13 years ago

[M] Discovery WS back-end methods specification

Reported by: selatham Owned by: mpritcha
Priority: critical Milestone: ReFactored_Discovery_WebServices
Component: discovery Version:
Keywords: Cc:

Description

Start a document stating the methods available for the Discovery WS. Pass to ndg list for comment. (This could become the basis for formal documentation for the Discovery product).

Change History

comment:1 Changed 13 years ago by mpritcha

Proposed methods are as follows:

  • doFullTextSearch()
    • Finds records in collection containing specified search term, by executing a custom xquery, optionally combined with a spatioTemporal search. Returns integer resultId pointing to result set.
  • doParameterSearch()
    • Finds records in collection containing specified parameter, by executing a custom xquery, optionally combined with spatioTemporal search. Returns integer resultId pointing to result set.
  • doAuthorSearch()
    • Finds records in collection where author matches given term, by executing a custom xquery. Returns integer resultId pointing to result set.
  • doSpatioTemporalSearch()
    • Finds records in collection where spatiotemporal coverage matches that given. Returns integer resultId pointing to result set.
  • getResultSummary()
    • Fetches HashMap? containing result of previous search identified by resultId
  • doPresent()
    • Fetches full XML content of a document

There will probably also be method(s) for fetching n results from a particular result set, but I intend to get the above working first.

Each of doFullTextSearch, doParameterSearch, doAuthorSearch will have its own XQuery defined somewhere, possibly with variants for coping with different collections (i.e. documents from different schemae DIF / EDMED? / ISO etc)

There will be an XML schema (available via the WSDL) defining the request and response message structure for each of the above methods (to follow).

comment:2 Changed 13 years ago by mpritcha

  • Status changed from new to assigned

comment:3 Changed 13 years ago by lawrence

... probably need a method to formally drop a result set ...

comment:4 Changed 13 years ago by mpritcha

Just noticed something important in the exist XMLRPC interface. The hit count returned in querySummary() is actually the number of hits in the result set, not the number of distinct documents in the result set (Imagine a result set where document 1 matched 20 times, document 2 matched 5 times. 25 "hits", 2 documents).

I presume we're only interested in the latter, for the purposes of paging through results?

comment:5 Changed 13 years ago by selatham

I can't imagine where we would be interested in no. of hits. We could use it in some fancy manner, but I think we need to keep it simple. So sounds like it's no. of documents we want for paging purposes.

comment:6 Changed 13 years ago by lawrence

  • Status changed from assigned to closed
  • Resolution set to fixed

done, current wsdl is satifisfactory for now

Note: See TracTickets for help on using tickets.