16. The computer program product as recited in claim 10 , wherein a set of flags is output along with the score for each result, the set of flags containing the field positions of each term match in the different fields of the index.
10. A computer program product for processing a search query, comprising: a non-transitory computer readable medium having computer code stored thereon, including: computer code for receiving a search query containing one or more terms; computer code for processing the query to add one or more bi-words as terms to the query; computer code for searching a search index embodied on a non-transitory computer-readable storage medium having product identifiers and logical parts of the product identifiers indexed into different fields in the index; computer code for generating a score based on at least some of the terms matching the product identifiers and file individual logical parts of the product identifiers in the different fields in the index, wherein bi-words are weighted higher than the terms having only one word when matching in the index and individual terms are weighted higher when matching in the product identifier fields of the index as compared to matching the fields associated with the individual logical parts of the product identifiers; and computer code for selecting and outputting an indicator of product identifiers ranked by their scores.