static L scoredSearch_field(S query, Iterable data, S field) { new Map scores; L prepared = scoredSearch_prepare(query); for (A s : data) { int score = scoredSearch_score(getOpt(s, field), prepared); if (score != 0) scores.put(s, score); } ret keysSortedByValuesDesc(scores); }