31 Commits

Author SHA1 Message Date
slhale
3a3e98cc48 [Search] Update provider timeout
Added a timedOut property to the provider's
return object. Changed the generic search
worker to stop if it reaches timeout.
2015-07-30 16:35:26 -07:00
slhale
6e11941ae9 [Search] ES Provider error checks
The elasticsearch provider returns an empty
result when elasticsearch throws an error
(probably a bad request). This prevents the
aggregator from thinking that ES is loading
infinitely.
2015-07-30 15:47:09 -07:00
slhale
60dad014cc [Search] Changed provider return type
The provider now returns an object that has
a hits property which contains what it
previously returned, and also a total property
which contains the total number of results.
2015-07-30 13:54:56 -07:00
slhale
a7cd6d8807 [Search] Removed name field form ES provider
Removed the name field from the ElasticSearch provider
search query string, so now it will check all of the
fields of the domain object (such as type).
2015-07-30 13:32:34 -07:00
slhale
bce56c53ed [Search] Clean up
Updated comments and documentation. Changed the generic
worker to return results as {id: score} key value pairs
rather than {id: {score: score}} format. Removed unused
getLatestResults and getLatestTimestamps functions from
the providers.
2015-07-30 13:27:45 -07:00
slhale
1619f236cf [Search] Updated search service interface
The search service's interface now just consists
of the two functions query() and isLoading().
query() returns a promise for an array or results,
which eliminates the need for timeout polling like
was previously done. The search providers
have also been changed to reutrn promises.
2015-07-29 15:07:13 -07:00
slhale
5ee8dd239b [Search] Comments 2015-07-29 13:17:50 -07:00
slhale
495d8c9830 [Search] Search term processing
The search term processor for ElasticSearch now
removes extra spaces from inside of the search
term (to avoid some ES errors).
2015-07-28 17:04:29 -07:00
slhale
d6a7dc9820 Merge branch 'search' of https://github.com/slhale/openmctweb into search 2015-07-28 10:17:15 -07:00
slhale
dc53cf60d1 [Search] Style
Made style compliance changes.
2015-07-28 10:15:05 -07:00
slhale
e0e5ad1347 [Search] Removed console output
Accidentally left in a console.log statement
2015-07-28 10:04:31 -07:00
slhale
a6b11354cd [Search] Removed console output
Accidentally left in a console.log statement
2015-07-28 10:03:22 -07:00
shale
33e8084852 [Search] Getting input text
The controller now gets the input text from the
DOM element ID, then passes that string along
to the search service, instead of passing the
raw ID.
2015-07-23 16:13:26 -07:00
shale
b0e7dca985 [Search] Empty search resets results
When there is no input into the search bar
no results are displayed/displayed results
are removed. This is because the search
providers were changed to return empty
arrays for empty search strings.
2015-07-22 16:09:14 -07:00
shale
739fa423c5 [Search] Added wildcards to generic
Added wildcard support to the generic
search provider. In this case, wildcards
behave just like spaces.
2015-07-21 16:10:35 -07:00
shale
4191bc1ac3 [Search] Comments
Updated the documentation.
2015-07-21 15:31:23 -07:00
shale
92df11acc1 [Search] Readded ElasticSearch provider
Previously had removed the elasticsearch provider
from bundle.json so could work on the generic
search web worker. Now have modified the
elasticsearch provider to match the new interface
with the aggregator, and it works.

At this point, search is 'working'
2015-07-21 15:14:07 -07:00
shale
416bd82589 [Search] Cleanup
Removed a couple of unnecissary things, and fixed
up the comments.
2015-07-21 15:05:08 -07:00
shale
4f4af87285 [Search] Added timestamp to queries
(Temporariliy removed the elasticsearch provider
from bundle.json)
Added a timestamp parameter to the query so that
the aggregator can tell when the results were last
updated. Created a separate function for getting
the results list. GenericSearch now converts back
from models to domain objects after the web worker
does its work.
2015-07-21 12:34:08 -07:00
shale
1b5fbccc06 [Search] Removed validType function
Removed the validType function which previously
was a paraemter to the search providers. It
was no longer used, and is not necissary.
2015-07-21 11:17:45 -07:00
shale
c79d1f2648 [Search] Choose higher score & optional parameters
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.
2015-07-21 09:41:52 -07:00
shale
f4bd7d7a44 [Search] Revert to earlier commit
Reverted to before implementing next(). May re add
back some changes, such as removing validType and
then adding web workers.
2015-07-20 17:02:08 -07:00
shale
1891b24bde [Search] Dump before revert
Commtting changes so far before revering
to a previous commit. Most changes to make
next() have been unneccsiary. We no longer
want next().
2015-07-20 16:56:39 -07:00
shale
5520037908 [Search] Partial loading
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.)
2015-07-20 14:30:22 -07:00
shale
c0c0371451 [Search] Timeout passed from SearchAggregator
The timeout value is now an optional
parameter of the providers, and
the search aggregator now passes a
common default value to all of them.
2015-07-20 11:21:55 -07:00
shale
ed956d351d [Search] Elasticsearch timeout
Added a term to the elasticsearch query
that should make it time out. Apparently
this only works sometimes, as ES uses a
'best effort' timeout.
2015-07-20 11:08:43 -07:00
shale
e9e9ca146b [Search] Generic search timeout
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.
2015-07-20 10:59:02 -07:00
shale
c75d94289b [Serach] Callbacks and renaming
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.
2015-07-17 11:26:44 -07:00
shale
80e0bd875a [Search] Aggregator merges results
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.
2015-07-16 13:08:05 -07:00
shale
cd3c2312a5 [Search] Basic aggregator works
The search view now behaves as it
previously did. The search aggregator
is set to just use ElasticSearch, but
it works.
2015-07-16 10:35:26 -07:00
shale
6f2ad0dadc [Search] Renaming and adding files
Renamed QueryService as SearchService and changed
the corresponding references to it. Added a
SearchAggregator file and related files. Not
yet begun with the implementation.
2015-07-16 10:10:07 -07:00