in indexer-core/src/main/java/org/apache/maven/index/DefaultQueryCreator.java [321:369]
public Query legacyConstructQuery(String field, String query) {
if (query == null || query.length() == 0) {
getLogger().info("Empty or null query for field:" + field);
return null;
}
String q = query.toLowerCase();
char h = query.charAt(0);
if (JarFileContentsIndexCreator.FLD_CLASSNAMES_KW.getKey().equals(field)
|| JarFileContentsIndexCreator.FLD_CLASSNAMES.getKey().equals(field)) {
q = q.replaceAll("\\.", "/");
if (h == '^') {
q = q.substring(1);
if (q.charAt(0) != '/') {
q = '/' + q;
}
} else if (h != '*') {
q = "*/" + q;
}
} else {
if (h == '^') {
q = q.substring(1);
} else if (h != '*') {
q = "*" + q;
}
}
int l = q.length() - 1;
char c = q.charAt(l);
if (c == ' ' || c == '<' || c == '$') {
q = q.substring(0, q.length() - 1);
} else if (c != '*') {
q += "*";
}
int n = q.indexOf('*');
if (n == -1) {
return new TermQuery(new Term(field, q));
} else if (n > 0 && n == q.length() - 1) {
return new PrefixQuery(new Term(field, q.substring(0, q.length() - 1)));
}
return new WildcardQuery(new Term(field, q));
}