Do

Live searching

Registered by Alex Launi on 2010-08-26

There are some plugins where search is still nifty, but we'd rather not have indexing. Examples might be a google web search, banshee collection searching, and file system searching. We don't really want to duplicate the filesystem on the bus, but we ideally want to be able to access any file we want.

The proposed solution to this is live searching. Live searches would be accomplished by a second type of search plugin. A source that acts on queries, and always returns items.

The plugin would have a SearchManager object (or something) with a Search (string) method. This would return an array of item paths that would be put onto the bus as the search returned results. This array would be passed into Do and displayed into the results list. The UI would have to be pretty slick to make this compelling, but slick UIs are not new ground for us.

Here's an example of this idea..

Say I summon up Do and start searching for "Narwhal", Do begins searching the ItemProxy collections in universe, but also calls out to all of the LiveSearch plugins Search methods with the string Narwhal. Let's use a google search plugin as the example. Narwhal gets sent to the google search plugin, and it calls out to google and searches for Narwhal. 2 seconds later we get the top 10 results for Narwhal on google in, and fire a NewHits signal. The plugin made those 10 searches into URL items and put them on the bus. NewHits is fired with an array of those 10 items' paths, and they are inserted into the results list.

Blueprint information

Status:
Not started
Approver:
Do Core Team
Priority:
Medium
Drafter:
Chris Halse Rogers
Direction:
Needs approval
Assignee:
Do Core Team
Definition:
Discussion
Series goal:
Accepted for rewrite
Implementation:
Unknown
Milestone target:
None

Related branches

Sprints

Whiteboard

(?)

Work Items

This blueprint contains Public information 
Everyone can see this information.