public QueryBuilders.QueryBuilder convert(Expr conjunct) {
        return visit(conjunct);
    }
@Test
    public void testTranslateRawQuery() {
        SlotRef serviceSlotRef = mockSlotRef("service", Type.STRING);
        // normal test
        String normalValue = "{\"term\":{\"service\":{\"value\":\"starrocks\"}}}";
        StringLiteral normalValueLiteral = new StringLiteral(normalValue);
        List<Expr> params = new ArrayList<>();
        params.add(serviceSlotRef);
        params.add(normalValueLiteral);
        FunctionCallExpr normalESQueryExpr = new FunctionCallExpr("esquery", params);
        Assert.assertEquals(normalValue, queryConverter.convert(normalESQueryExpr).toString());
        // illegal test
        String illegalValue = "{\"term\":{\"service\":{\"value\":\"starrocks\"}},\"k\":3}";
        StringLiteral illegalValueLiteral = new StringLiteral(illegalValue);
        List<Expr> illegalParams = new ArrayList<>();
        illegalParams.add(serviceSlotRef);
        illegalParams.add(illegalValueLiteral);
        FunctionCallExpr illegalESQueryExpr = new FunctionCallExpr("esquery", illegalParams);
        ExceptionChecker.expectThrows(StarRocksConnectorException.class, () -> queryConverter.convert(illegalESQueryExpr));
    }