12. A system for attribute-based searching product records, the system comprising one or more processors and one or more memory devices operably coupled to the one or more processors, the memory devices storing executable and operational data effective to cause the one or more processors to: receive a query; identify tokens in the query, including referencing a dictionary using a matching technique; identify a plurality of product records including at least one token t of the tokens in the query; for each product record d of the plurality of product records including at least one token t of the tokens in the query, calculate token-attribute scores tf c (t,d) for each attribute value c of the each product record d, the token-attribute scores tf c (t,d) decreasing with length of the attribute value c, wherein tf c (t,d)=freq c (t,d)/(1+b c (L dc /L c+ −1)), where freq c (t,d) is a frequency of occurrence of token t in attribute value c of product record d, L c is an average length for values of attribute value c in a corpus, and L dc is the length of the attribute value c in product record d; assign a product record score to each product record d of the plurality of product records based on a summation of the token-attribute scores tf c (t,d) for the each product record d; rank the plurality of product records according to the product record scores resulting in a ranked plurality of product records; and return at least a portion of the ranked plurality of product records as a response to the query.
12. A system for attribute-based searching product records, the system comprising one or more processors and one or more memory devices operably coupled to the one or more processors, the memory devices storing executable and operational data effective to cause the one or more processors to: receive a query; identify tokens in the query, including referencing a dictionary using a matching technique; identify a plurality of product records including at least one token t of the tokens in the query; for each product record d of the plurality of product records including at least one token t of the tokens in the query, calculate token-attribute scores tf c (t,d) for each attribute value c of the each product record d, the token-attribute scores tf c (t,d) decreasing with length of the attribute value c, wherein tf c (t,d)=freq c (t,d)/(1+b c (L dc /L c+ −1)), where freq c (t,d) is a frequency of occurrence of token t in attribute value c of product record d, L c is an average length for values of attribute value c in a corpus, and L dc is the length of the attribute value c in product record d; assign a product record score to each product record d of the plurality of product records based on a summation of the token-attribute scores tf c (t,d) for the each product record d; rank the plurality of product records according to the product record scores resulting in a ranked plurality of product records; and return at least a portion of the ranked plurality of product records as a response to the query. 13. The system of claim 12 wherein the executable and operational data are further effective to cause the one or more processors to assign the product record score to each product record d of the plurality of product records based on the summation of the token-attribute scores tf c (t,d) by: calculating a token score tf(t,d) for each token t identified in the each product record d as a summation of the token-attribute scores tf c (t,d) for the each token t.