8. A method of providing a service to a customer over a network comprising: dividing a full query as input by a user into a multiplicity of sub-queries, wherein the sub-queries each comprise a set of keywords of the full query; submitting the full query and said multiplicity of sub-queries to each of a plurality of components, wherein a component comprises a search engine operating on a hardware processor and working on a document collection stored in one or more databases; receiving results of the full query and sub-queries from each component as a list of documents, wherein the results for the full query and the results for the sub-queries from each component have document scores (DS) to which a merit score is applied; estimating a success of a component in handling the full query to generate the merit score for a component per query, wherein estimating the success of a component in handling the full query includes determining an extent of overlap between results for the full query and results for the sub-queries, wherein determining the extent of overlap comprises generating an appearances vector corresponding to a number of times each of the keywords appears in the document collection; and moving through a tree of weights using an overlap vector of the extent of overlap and the appearances vector to generate a query difficulty prediction; applying the merit score to the results of the full query produced by the components, respectively, wherein the merit score is applied if the variance is above a predetermined threshold level; and merging the results for the full query produced by the plurality of components by ranking the results for the full query in order of the applied merit scores.
8. A method of providing a service to a customer over a network comprising: dividing a full query as input by a user into a multiplicity of sub-queries, wherein the sub-queries each comprise a set of keywords of the full query; submitting the full query and said multiplicity of sub-queries to each of a plurality of components, wherein a component comprises a search engine operating on a hardware processor and working on a document collection stored in one or more databases; receiving results of the full query and sub-queries from each component as a list of documents, wherein the results for the full query and the results for the sub-queries from each component have document scores (DS) to which a merit score is applied; estimating a success of a component in handling the full query to generate the merit score for a component per query, wherein estimating the success of a component in handling the full query includes determining an extent of overlap between results for the full query and results for the sub-queries, wherein determining the extent of overlap comprises generating an appearances vector corresponding to a number of times each of the keywords appears in the document collection; and moving through a tree of weights using an overlap vector of the extent of overlap and the appearances vector to generate a query difficulty prediction; applying the merit score to the results of the full query produced by the components, respectively, wherein the merit score is applied if the variance is above a predetermined threshold level; and merging the results for the full query produced by the plurality of components by ranking the results for the full query in order of the applied merit scores. 9. A method according to claim 8 , wherein estimating the success of a component in handling the full query includes applying a predetermined component weighting.