1. A method for processing a search query, comprising: receiving a search query containing one or more terms; processing the query to add one or more bi-words as terms to the query; 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; generating a score based on at least some of the terms matching the product identifiers and the 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 selecting and outputting an indicator of product identifiers ranked by their scores.