Subject: RE: [search-ws] Call Monday September 14 - action items
I believe my responsibility for Scan was to provide a data model.
Scan is an operation that exposes the searchable terms of an index. For Scan, the index is modeled as an ordered list of terms. The ordering is not important to the operation, but is typically alphabetical. The client provides a seed term (which may not actually exist in the index) in its request, as well as a count of the number of desired terms to be returned and an indication of where in that list it would expect to find the seed term, should it exist. The server finds the search term closest to the seed term in the ordered list of terms (the definition of close is left to the server) and returns terms from that ordering using the position of the found term to satisfy the position parameter in the request.
An index contains the following terms:
The client provides “dog” as the seed term, and requests three terms be returned with the seed term in position 2. The server would return the list charlie, delta, echo, if it decided that delta was closest to dog. It could also have returned delta, echo, foxtrot if it had decided that echo was closer to dog.
From the same list of terms, the client requests 3 terms with the seed term “charlie” in position 0. This will result in the terms delta, echo, foxtrot being returned.