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:
@@ -286,7 +286,7 @@ public class LuceneChangeIndex implements ChangeIndex, LifecycleListener {
|
|||||||
} catch (IllegalArgumentException e) {
|
} catch (IllegalArgumentException e) {
|
||||||
throw new QueryParseException("not an integer: " + p.getValue());
|
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) {
|
private static Query sortKeyQuery(SortKeyPredicate p) {
|
||||||
@@ -327,7 +327,7 @@ public class LuceneChangeIndex implements ChangeIndex, LifecycleListener {
|
|||||||
if (p instanceof RegexPredicate<?>) {
|
if (p instanceof RegexPredicate<?>) {
|
||||||
return regexQuery(p);
|
return regexQuery(p);
|
||||||
} else {
|
} 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);
|
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) {
|
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 {
|
private class QuerySource implements ChangeDataSource {
|
||||||
|
|||||||
Reference in New Issue
Block a user