private static JsonObject convertRemoteMatchQuery(RemoteMatchQuery query) {
JsonObject matchQuery = JsonBuilder.object()
.add( "match",
JsonBuilder.object().add( query.getField(),
JsonBuilder.object()
.addProperty( "query", query.getSearchTerms() )
.addProperty( "analyzer", query.getAnalyzerReference().getAnalyzerName( query.getField() ) )
.append( fuzzinessAppender( query.getMaxEditDistance() ) )
.append( boostAppender( query ) )
)
).build();
return wrapQueryForNestedIfRequired( query.getField(), matchQuery );
}