SqlParserQueryTest.java 2.1 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859
  1. package org.elasticsearch;
  2. import org.elasticsearch.dsl.bean.ElasticSqlParseResult;
  3. import org.elasticsearch.dsl.parser.ElasticSql2DslParser;
  4. import org.junit.Test;
  5. public class SqlParserQueryTest {
  6. @Test
  7. public void testParseMatchQueryExpr() {
  8. String sql = "select id,status from index.order t "
  9. + "query match(t.productName, '皮鞋', 'minimum_should_match:75%,boost:2.0f') and match(t.productCode, '2700', 'operator:and')"
  10. + "where t.price > 1000 limit 5,15";
  11. ElasticSql2DslParser sql2DslParser = new ElasticSql2DslParser();
  12. ElasticSqlParseResult parseResult = sql2DslParser.parse(sql);
  13. System.out.println(parseResult.toDsl());
  14. }
  15. @Test
  16. public void testParseMultiMatchQueryExpr() {
  17. String sql = "select id,status from index.order t "
  18. + "query multiMatch('productName,productCode', '皮鞋', 'minimum_should_match:75%,boost:2.0f')"
  19. + "where t.price > 1000 limit 5,15";
  20. ElasticSql2DslParser sql2DslParser = new ElasticSql2DslParser();
  21. ElasticSqlParseResult parseResult = sql2DslParser.parse(sql);
  22. System.out.println(parseResult.toDsl());
  23. }
  24. @Test
  25. public void testParseQueryStringQueryExpr() {
  26. String sql = "select id,status from index.order t "
  27. + "query queryString('皮鞋', 'fields:productName,productCode', 'boost:2.0f')"
  28. + "where t.price > 1000 limit 5,15";
  29. ElasticSql2DslParser sql2DslParser = new ElasticSql2DslParser();
  30. ElasticSqlParseResult parseResult = sql2DslParser.parse(sql);
  31. System.out.println(parseResult.toDsl());
  32. }
  33. @Test
  34. public void testParseSimpleQueryStringQueryExpr() {
  35. String sql = "select id,status from index.order t "
  36. + "query simpleQueryString('皮鞋', 'fields:productName,productCode^2', 'flags:OR|AND|PREFIX')"
  37. + "where t.price > 1000 limit 5,15";
  38. ElasticSql2DslParser sql2DslParser = new ElasticSql2DslParser();
  39. ElasticSqlParseResult parseResult = sql2DslParser.parse(sql);
  40. System.out.println(parseResult.toDsl());
  41. }
  42. }