Example #1
0
 public static byte[] parseQuerySource(RestRequest request) {
   if (request.hasContent()) {
     return request.contentAsBytes();
   }
   String queryString = request.param("q");
   if (queryString == null) {
     throw new ElasticSearchIllegalArgumentException(
         "No query to execute, not in body, and not bounded to 'q' parameter");
   }
   QueryStringJsonQueryBuilder queryBuilder = JsonQueryBuilders.queryString(queryString);
   queryBuilder.defaultField(request.param("df"));
   queryBuilder.analyzer(request.param("analyzer"));
   String defaultOperator = request.param("default_operator");
   if (defaultOperator != null) {
     if ("OR".equals(defaultOperator)) {
       queryBuilder.defaultOperator(QueryStringJsonQueryBuilder.Operator.OR);
     } else if ("AND".equals(defaultOperator)) {
       queryBuilder.defaultOperator(QueryStringJsonQueryBuilder.Operator.AND);
     } else {
       throw new ElasticSearchIllegalArgumentException(
           "Unsupported defaultOperator [" + defaultOperator + "], can either be [OR] or [AND]");
     }
   }
   return queryBuilder.buildAsBytes();
 }