Searches in the aggregator generate a unique search-id that is used to query the state of the search and the actual results. All search results are associated with an ID and stored in the aggregator temporarily to be used in the frontend (using JS polling).
The search-id is normally hidden but can be exposed to generate a kind-of "search-result-link". This link can then be used (by others) to immediately fetch the results from before.
See also the REST API at: https://infra.clarin.eu/apis/?urls.primaryName=Federated%20Content%20Search%20(alpha)#/search
Intended use cases:
primarily debugging, e.g. testing the aggregator or a new endpoint, and trying to share actual results without having to rely on the endpoint being deterministic with sending its results, being available etc.
Properties:
limited life-span: 1.000 searches or aggregator restart
result consistency: allows to immediately fetch and present prior search results (therefore also which collections/resources were selected for the search) and also additional results that were loaded with "... More Results"
result persistence: doesn't rely on the availability of the endpoints that were used in the search initially to show results
but: search-id doesn't keep the association with queryType and query, but this can be handled with URI query parameters
Concerns:
the search-id (and therefore link) is not permanent, it only lasts 1000 searches or a restart of the aggregator, so it can't be used in publications or similar where some persistent URI is required. This needs to be clearly communicated to avoid confusing the user and misuse.
by exposing the stored results, we store possibly protected/copyrighted/... material that was otherwise only transferred via the aggregator
Searches in the aggregator generate a unique
search-id
that is used to query the state of the search and the actual results. All search results are associated with an ID and stored in the aggregator temporarily to be used in the frontend (using JS polling). The search-id is normally hidden but can be exposed to generate a kind-of "search-result-link". This link can then be used (by others) to immediately fetch the results from before. See also the REST API at: https://infra.clarin.eu/apis/?urls.primaryName=Federated%20Content%20Search%20(alpha)#/searchIntended use cases:
Properties:
queryType
andquery
, but this can be handled with URI query parametersConcerns: