Changed the search aggregator's filterRepeats
function to choose the version of the searchResult
object that has the higher score, when it
encounters multiple searchResult objects
corresponding to a domain object ID.
Also changed the search providers and aggregator
such that the validType parameter is now optional,
with a function that always returns true as the
defualt.
Changed the providers to return only the first
search result. Each searchResult object has a
function next() which returns the next search
result. This allows the search aggregator to
load more results without making a whole new
search query. (Still requuires some cleaning
up.)
Added a time limit for generic search's indexing
of the filetree, at which point it will just
return the portion of the filetree it has
indexed.
Additioanlly attempted to move this part of
the functionality to a webworker, but is not
working because of unclonability of the
objects. (Commented out)
Also updated some documentation comments.
Changed how the generic search provider determines
search matches. It now splits the search input into
search terms by spliting at spaces, and then scores
the results by how many of the terms appear as
substrings in the result.
Added validType() as a callback parameter to the search
providers. It is defined in the search aggregator, and
is used to put any restrictions on object type in the
displayed search results.
Renamed EverythingSearchProvider to GenericSearchProvider.
Changed the controller for the search input
to respond on keypress rather than keyup.
Added comments better explaining searchResult
objects to the search aggregator.
The search aggregator now merges search
results from different providers better.
It removed duplicate results, and orders
the list of results from highest to
lowest score.
Renamed QueryService as SearchService and changed
the corresponding references to it. Added a
SearchAggregator file and related files. Not
yet begun with the implementation.
Changed the default number of results to be
a max of 25, and added a parameter to allow
the user to set this. (May be used in an
advaned search later?) Because folders are
filtered out, the number displayed is not
necissarily exact.
Seaching any substring of a domain
object title now will give the domian
object as a search result. Still not
case sensitive. Empty string will
return all results. Special characters
do not search correctly. Still has
result number cap.
Seach now searches using terms, which
are the domain objects' names split
at the spaces. Still does not work with
any substring, must be space separated.
Not case sensitive.