<div>In my company we have databases, webservers, web services, and search engines; dozens of each. Almost every resource is an island unto itself. Few are linked. Some are redundant. We have so many resources that I have to show people our particular resources every few days.</div>



<div><br></div><div>A single search engine to rule them all would be a big win.</div><div><br></div><div>This problem has been solved before. It's called federated search, multi search, meta search, and search aggregation. There's a nice picture at <a href="http://en.wikipedia.org/wiki/Metasearch_engine">http://en.wikipedia.org/wiki/Metasearch_engine</a> .</div>

<div><br></div><div>A rough overview of the project could look like this:</div><div><div><br></div><div>Web frontend:</div></div><div><ol><li>optionally run auto-completion while user is typing into the form (that's a whole different topic)</li>

<li>send complete query to Metasearch API frontend</li></ol></div><div><br></div><div>Metasearch API frontend:</div><div><ol><li>validate query</li><li>normalize query (improve queries if possible)</li><li>send normalized query to every subsearch handler</li>

<li>optionally inform frontend about all subsearches (to initialize progress bars; etc.)</li><li>normalize response (add useful info to response or delete things the user shouldn't see) </li><li>return subsearch response</li>

</ol></div><div><br></div><div>Subsearch handlers:</div><div><ol><li>optionally validate and normalize query (things specific to just this resource)</li><li>search. Depending on the type of resource this can mean many things: search a database, check an index, fetch a web service, make a webpage query and scrub the results; etc.</li>

<li>normalize response</li><li>return response</li></ol><div><br></div></div><div>Backend:</div><div><ol><li>Run indexers</li></ol><div><br></div></div><div>Anyone familiar with projects in Perl-land (or outside the bubble) for solving this? Failing that, know of any related projects I should check out and/or leverage like Lucy/Lucene?</div>

<div><br></div><div>Thanks,<br>Joshua</div>