SqlParserMethodConditionTest.java 727 B

123456789101112131415161718192021
  1. package org.es;
  2. import org.es.sql.dsl.bean.ElasticSqlParseResult;
  3. import org.es.sql.dsl.parser.ElasticSql2DslParser;
  4. import org.junit.Test;
  5. public class SqlParserMethodConditionTest {
  6. @Test
  7. public void testScriptExpr() {
  8. String script = "if(doc[\"advicePrice\"].empty) return false; if(my_var * doc[\"minPrice\"].value/doc[\"advicePrice\"].value > 0.363) return true; else return false;";
  9. String sql = String.format("select * from index.product where script_query('%s', 'my_var:2.1f')", script);
  10. ElasticSql2DslParser sql2DslParser = new ElasticSql2DslParser();
  11. ElasticSqlParseResult parseResult = sql2DslParser.parse(sql);
  12. System.out.println(parseResult.toDsl());
  13. }
  14. }