@Override public JsonObject compileQuery(QueryPart queryPart) { if (queryPart instanceof StringQueryPart) { String search = ((StringQueryPart)queryPart).getSearchString(); return ElasticsearchQueryHelper.termQuery("gmlIds", search); } else if (queryPart instanceof KeyValueQueryPart) { KeyValueQueryPart kvqp = (KeyValueQueryPart)queryPart; if (isGmlIdEQ(kvqp)) { return ElasticsearchQueryHelper.termQuery("gmlIds", kvqp.getValue()); } } return null; } }
@Override public JsonObject compileQuery(QueryPart queryPart) { if (queryPart instanceof StringQueryPart) { // match values of all fields regardless of their name String search = ((StringQueryPart)queryPart).getSearchString(); return ElasticsearchQueryHelper.multiMatchQuery(search, "genAttrs.*"); } else if (queryPart instanceof KeyValueQueryPart) { KeyValueQueryPart kvqp = (KeyValueQueryPart)queryPart; String key = kvqp.getKey(); String value = kvqp.getValue(); ComparisonOperator comp = kvqp.getComparisonOperator(); switch (comp) { case EQ: return ElasticsearchQueryHelper.termQuery("genAttrs." + key, value); case GT: return ElasticsearchQueryHelper.gtQuery("genAttrs." + key, value); case GTE: return ElasticsearchQueryHelper.gteQuery("genAttrs." + key, value); case LT: return ElasticsearchQueryHelper.ltQuery("genAttrs." + key, value); case LTE: return ElasticsearchQueryHelper.lteQuery("genAttrs." + key, value); } } return null; } }
@Override public JsonObject compileQuery(QueryPart queryPart) { if (queryPart instanceof StringQueryPart) { // match values of all fields regardless of their name String search = ((StringQueryPart)queryPart).getSearchString(); return multiMatchQuery(search, "address.*"); } else if (queryPart instanceof KeyValueQueryPart) { KeyValueQueryPart kvqp = (KeyValueQueryPart)queryPart; String key = kvqp.getKey(); String value = kvqp.getValue(); ComparisonOperator comp = kvqp.getComparisonOperator(); String name = "address." + key; switch (comp) { case EQ: return termQuery(name, value); case GT: return gtQuery(name, value); case GTE: return gteQuery(name, value); case LT: return ltQuery(name, value); case LTE: return lteQuery(name, value); } } return null; } }
KeyValueQueryPart kvqp = (KeyValueQueryPart)queryPart; String key = kvqp.getKey(); String value = kvqp.getValue(); ComparisonOperator comp = kvqp.getComparisonOperator();