Opened 9 years ago

Closed 9 years ago

#759 closed enhancement (fixed)

Multi-word queries

Reported by: emanuel.dima@uni-tuebingen.de Owned by: Leif-Jöran
Priority: major Milestone:
Component: SRUAggregator Version:
Keywords: Cc:

Description

In the current version of the SRU Aggregator (v.2.0.0-beta-47), when a user sends a multi word query (e.g. warm water), many endpoints return a diagnostic message (Query syntax error) and no result. The Aggregator should return good results from all the endpoints for multiple word queries.

The Aggregator currently sends the search string to the endpoints exactly as it is written by the user. Some endpoints accept a multi word query and interpret it as they like, while others expect a boolean query (e.g. warm and water) and throw an error on words which are not separated by boolean operators. The FCS protocol intentionally under-defines the behaviour of an endpoint in this situation.

One solution is the Aggregator to profile the endpoints (on scan/explain) and see how they respond to the multi-word queries. Based on this profile, when sending the query to the endpoint, the Aggregator could rewrite the query to conform to the endpoint's expectation (e.g. by adding default boolean operators). Another option is to quote the whole string, which should only return results containing the whole string verbatim.

Another solution is to make the UI more complex, maybe defining a simple and an advanced view, and to build a truly boolean query in a user friendly way. However, sending a boolean query to an endpoint that does not support it will also result in a diagnostic error (or return unexpected results).

Change History (2)

comment:1 Changed 9 years ago by Leif-Jöran

Owner: set to Leif-Jöran
Status: newaccepted

comment:2 Changed 9 years ago by Leif-Jöran

Resolution: fixed
Status: acceptedclosed
Note: See TracTickets for help on using tickets.