### Description

Something like `select * from apps where version > '1.2.3'::version` fails with:
```
Caused by: java.lang.IllegalArgumentException: Illegal value type: class org.elasticsearch.xpack.versionfield.Version, value: 1.2.3
	at org.elasticsearch.xpack.versionfield.VersionStringFieldMapper$VersionStringFieldType.indexedValueForSearch(VersionStringFieldMapper.java:287)
	at org.elasticsearch.xpack.versionfield.VersionStringFieldMapper$VersionStringFieldType.rangeQuery(VersionStringFieldMapper.java:320)
	at org.elasticsearch.server@8.9.0-SNAPSHOT/org.elasticsearch.index.mapper.SimpleMappedFieldType.rangeQuery(SimpleMappedFieldType.java:52)
	at org.elasticsearch.server@8.9.0-SNAPSHOT/org.elasticsearch.index.query.RangeQueryBuilder.doToQuery(RangeQueryBuilder.java:539)
	at org.elasticsearch.server@8.9.0-SNAPSHOT/org.elasticsearch.index.query.AbstractQueryBuilder.toQuery(AbstractQueryBuilder.java:115)
	at org.elasticsearch.server@8.9.0-SNAPSHOT/org.elasticsearch.index.query.SearchExecutionContext.lambda$toQuery$4(SearchExecutionContext.java:486)
	at org.elasticsearch.server@8.9.0-SNAPSHOT/org.elasticsearch.index.query.SearchExecutionContext.toQuery(SearchExecutionContext.java:498)
	... 15 more


```
x-pack/plugin/ql/src/main/java/org/elasticsearch/xpack/ql/planner/ExpressionTranslators.java
return null;
        }
    }
    public static Query or(Source source, Query left, Query right) {
        return boolQuery(source, left, right, false);
    }
    public static Query and(Source source, Query left, Query right) {
        return boolQuery(source, left, right, true);
    }
    private static Query boolQuery(Source source, Query left, Query right, boolean isAnd) {
        Check.isTrue(left != null || right != null, "Both expressions are null");
        if (left == null) {
            return right;
        }
        if (right == null) {
            return left;
        }
        List<Query> queries;
        
        if (left instanceof BoolQuery bool && bool.isAnd() == isAnd) {
            queries = CollectionUtils.combine(bool.queries(), right);
        } else if (right instanceof BoolQuery bool && bool.isAnd() == isAnd) {
            queries = CollectionUtils.combine(bool.queries(), left);
        } else {
            queries = Arrays.asList(left, right);
        }
        return new BoolQuery(source, isAnd, queries);
    }
}