All three matches are exact (the term "car" matches, not "ca" or "ar") :)
If there are no more content in these fields ("auto parts", "car" and "car shop"), you can use lengthNorm()or computeNorm()(depending on the Lucene version) to give shorter fields more so that the car gets a higher score for the fact that it in short. In Lucene 3.3.0, DefaultSimilarity.computeNorm () looks like this:
return state.getBoost() * ((float) (1.0 / Math.sqrt(numTerms)));
numTerms - . "" "" , "" 1, "" 0,7 ( 1).