1. A method for indexing a product identifier and logical parts thereof, comprising: receiving a product identifier; splitting the product identifier into logical parts; indexing the product identifier and the individual logical parts in an index; and storing the index, wherein the index is created by encoding the product identifier and the individual logical parts of the product identifier into separate fields of a document, wherein different weights are assigned to separate fields based on the field types such as product identifier or logical parts of the product identifier field, wherein different weights are assigned to words based on the word types including bi-words, wherein the fields and weights are encoded to word positions in the document, wherein the weights affect a score generated upon performing a query using the index.