8. A computer program product for providing recommendations to improve a query, the computer program product comprising: a non-transitory computer readable storage medium having computer readable program code embodied therewith, the computer readable program code, when executed by a processor of a computer, is configured to perform: receiving a query with query keywords and selected categories; and in response to determining that the selected categories are ranked high with reference to query relevance indicator values for each of the selected categories, determining whether a lowest category level has been reached in the selected categories; in response to determining that the lowest category level has been reached, ranking individual services that are at the lowest category Levels; and providing one or more high ranked services from the ranked individual services; and in response to determining that the lowest category level has not been reached, calculating a keyword relevance indicator of each keyword in the query for each subcategory of each of the selected categories, wherein the keyword relevance indicator for a keyword is calculated using a keyword frequency of the keyword and an inverse service frequency of a subcategory; calculating a query relevance indicator of the query with each subcategory using the calculated keyword relevance indicators, wherein the query relevance indicator is calculated based on a keyword relevance indicator of a keyword specified in the query and a keyword relevance indicator of a keyword in the subcategory that is not specified in the query; ranking each subcategory based on the query relevance indicators; and providing the ranked subcategories for use in selecting new categories to be submitted with the query.
8. A computer program product for providing recommendations to improve a query, the computer program product comprising: a non-transitory computer readable storage medium having computer readable program code embodied therewith, the computer readable program code, when executed by a processor of a computer, is configured to perform: receiving a query with query keywords and selected categories; and in response to determining that the selected categories are ranked high with reference to query relevance indicator values for each of the selected categories, determining whether a lowest category level has been reached in the selected categories; in response to determining that the lowest category level has been reached, ranking individual services that are at the lowest category Levels; and providing one or more high ranked services from the ranked individual services; and in response to determining that the lowest category level has not been reached, calculating a keyword relevance indicator of each keyword in the query for each subcategory of each of the selected categories, wherein the keyword relevance indicator for a keyword is calculated using a keyword frequency of the keyword and an inverse service frequency of a subcategory; calculating a query relevance indicator of the query with each subcategory using the calculated keyword relevance indicators, wherein the query relevance indicator is calculated based on a keyword relevance indicator of a keyword specified in the query and a keyword relevance indicator of a keyword in the subcategory that is not specified in the query; ranking each subcategory based on the query relevance indicators; and providing the ranked subcategories for use in selecting new categories to be submitted with the query. 15. The computer program product of claim 8 , wherein the computer readable program code, when executed by the processor of the computer, is configured to perform: iterating through levels of categories.