in tablestore/src/main/java/com/alicloud/openservices/tablestore/core/protocol/SearchQueryParser.java [57:103]
static Query toQuery(Search.Query query) throws IOException {
Preconditions.checkArgument(query.hasType(), "Search.Query must has type");
Preconditions.checkArgument(query.hasQuery(), "Search.Query must has query");
ByteString queryByteString = query.getQuery();
switch (query.getType()) {
case MATCH_QUERY:
return toMatchQuery(queryByteString);
case MATCH_PHRASE_QUERY:
return toMatchPhraseQuery(queryByteString);
case TERM_QUERY:
return toTermQuery(queryByteString);
case TERMS_QUERY:
return toTermsQuery(queryByteString);
case RANGE_QUERY:
return toRangeQuery(queryByteString);
case PREFIX_QUERY:
return toPrefixQuery(queryByteString);
case SUFFIX_QUERY:
return toSuffixQuery(queryByteString);
case BOOL_QUERY:
return toBoolQuery(queryByteString);
case CONST_SCORE_QUERY:
return toConstScoreQuery(queryByteString);
case FUNCTION_SCORE_QUERY:
return toFunctionScoreQuery(queryByteString);
case FUNCTIONS_SCORE_QUERY:
return toFunctionsScoreQuery(queryByteString);
case NESTED_QUERY:
return toNestedQuery(queryByteString);
case WILDCARD_QUERY:
return toWildcardQuery(queryByteString);
case MATCH_ALL_QUERY:
return toMatchAllQuery();
case GEO_BOUNDING_BOX_QUERY:
return toGeoBoundingBoxQuery(queryByteString);
case GEO_DISTANCE_QUERY:
return toGeoDistanceQuery(queryByteString);
case GEO_POLYGON_QUERY:
return toGeoPolygonQuery(queryByteString);
case EXISTS_QUERY:
return toExistsQuery(queryByteString);
case KNN_VECTOR_QUERY:
return toKnnVectorQuery(queryByteString);
default:
throw new IllegalArgumentException("unknown queryType: " + query.getType().name());
}
}