How to merge search results from external source?
Hi, We have a home grown document management system which uses Lucene for indexing/search. When user search for a keyword in Coveo interface, is it possible to fire a parallel query to our document management system, get the results, merge them with Coveo search results and render in Coveo UI? We want to make Coveo interface as single place for search, but not sure how to merger search results from other sources (federated search). If the search results from our document management system need to follow a specific schema, we can do that.
That could probably be achieved by implementing a custom "search provider". A search provider is basically a few classes that implement a series of interfaces: ICESSearchProvider, ICESQuery, ICESResult, etc. Built-in, we have 4 search providers: CMF, CMF465, Demo and Xml. The idea would be to develop a search provider that would internally aggregate results from our built-in CMF search provider with results coming from your other source (Lucene). Somewhere in your custom code, you would have to execute a statement like the following: SearchObject.Provider = new YourCustomSearchProvider(SearchObject.Provider, other, necessary, arguments, here); That would make the search control responsible of rendering the search page using your custom search provider that would aggregate the Lucene results to the CMF (Coveo) ones.