Replace getOperator() with getField().getName()

The index fields may be named differently then the operators supplied
by a user.  This offers some flexibility in aliasing operators like
"change" to have different backend fields based on the input string
format, or "age" being aliased to a range query on "updated".

Change-Id: Icb16b91cf7687d23694835ebaa4faf318b6af30c
This commit is contained in:
Shawn Pearce
2013-06-25 23:24:12 -06:00
parent 864ec28cee
commit 79322b058e

View File

@@ -286,7 +286,7 @@ public class LuceneChangeIndex implements ChangeIndex, LifecycleListener {
} catch (IllegalArgumentException e) {
throw new QueryParseException("not an integer: " + p.getValue());
}
return new TermQuery(intTerm(p.getOperator(), value));
return new TermQuery(intTerm(p.getField().getName(), value));
}
private static Query sortKeyQuery(SortKeyPredicate p) {
@@ -327,7 +327,7 @@ public class LuceneChangeIndex implements ChangeIndex, LifecycleListener {
if (p instanceof RegexPredicate<?>) {
return regexQuery(p);
} else {
return new TermQuery(new Term(p.getOperator(), p.getValue()));
return new TermQuery(new Term(p.getField().getName(), p.getValue()));
}
}
@@ -340,11 +340,11 @@ public class LuceneChangeIndex implements ChangeIndex, LifecycleListener {
re = re.substring(0, re.length() - 1);
}
return new RegexpQuery(new Term(p.getOperator(), re));
return new RegexpQuery(new Term(p.getField().getName(), re));
}
private Query prefixQuery(IndexPredicate<ChangeData> p) {
return new PrefixQuery(new Term(p.getOperator(), p.getValue()));
return new PrefixQuery(new Term(p.getField().getName(), p.getValue()));
}
private class QuerySource implements ChangeDataSource {