boolean needFullTextProcessor() { return StringUtils.isNotEmpty(searchParameters.getQuery()); }
return StringUtils.isNotEmpty(searchParameters.getQuery());
private void validateSearchParameters(SearchParameters parameters) throws AtlasBaseException { if (parameters != null) { Servlets.validateQueryParamLength("typeName", parameters.getTypeName()); Servlets.validateQueryParamLength("classification", parameters.getClassification()); if (StringUtils.isNotEmpty(parameters.getQuery()) && parameters.getQuery().length() > maxFullTextQueryLength) { throw new AtlasBaseException(AtlasErrorCode.INVALID_QUERY_LENGTH, Constants.MAX_FULLTEXT_QUERY_STR_LENGTH); } } } }
public FullTextSearchProcessor(SearchContext context) { super(context); SearchParameters searchParameters = context.getSearchParameters(); StringBuilder queryString = new StringBuilder(); queryString.append("v.\"").append(Constants.ENTITY_TEXT_PROPERTY_KEY).append("\":(").append(searchParameters.getQuery()); // if search includes entity-type criteria, adding a filter here can help avoid unnecessary // processing (and rejection) by subsequent EntitySearchProcessor if (context.getEntityType() != null) { String typeAndSubTypeNamesQryStr = context.getEntityType().getTypeAndAllSubTypesQryStr(); if (typeAndSubTypeNamesQryStr.length() <= MAX_QUERY_STR_LENGTH_TYPES) { queryString.append(AND_STR).append(typeAndSubTypeNamesQryStr); } else { LOG.warn("'{}' has too many subtypes (query-string-length={}) to include in index-query; might cause poor performance", context.getEntityType().getTypeName(), typeAndSubTypeNamesQryStr.length()); } } // if search includes classification criteria, adding a filter here can help avoid unnecessary // processing (and rejection) by subsequent ClassificationSearchProcessor or EntitySearchProcessor if (context.getClassificationType() != null) { String typeAndSubTypeNamesStr = context.getClassificationType().getTypeAndAllSubTypesQryStr(); if (typeAndSubTypeNamesStr.length() <= MAX_QUERY_STR_LENGTH_TAGS) { queryString.append(AND_STR).append(typeAndSubTypeNamesStr); } else { LOG.warn("'{}' has too many subtypes (query-string-length={}) to include in index-query; might cause poor performance", context.getClassificationType().getTypeName(), typeAndSubTypeNamesStr.length()); } } queryString.append(")"); indexQuery = context.getGraph().indexQuery(Constants.FULLTEXT_INDEX, queryString.toString()); }
StringBuilder queryString = new StringBuilder(); queryString.append(INDEX_SEARCH_PREFIX + "\"").append(Constants.ENTITY_TEXT_PROPERTY_KEY).append("\":(").append(searchParameters.getQuery());
public AtlasSearchResult(SearchParameters searchParameters) { setQueryType(AtlasQueryType.BASIC); if (searchParameters != null) { setQueryText(searchParameters.getQuery()); setSearchParameters(searchParameters); setEntities(null); setAttributes(null); setFullTextResult(null); setReferredEntities(null); } }
public AtlasSearchResult(SearchParameters searchParameters) { setQueryType(AtlasQueryType.BASIC); if (searchParameters != null) { setQueryText(searchParameters.getQuery()); setSearchParameters(searchParameters); setEntities(null); setAttributes(null); setFullTextResult(null); setReferredEntities(null); } }
if (StringUtils.isEmpty(parameters.getTypeName()) && StringUtils.isEmpty(parameters.getClassification()) && StringUtils.isEmpty(parameters.getQuery()) && StringUtils.isEmpty(parameters.getTermName())) { throw new AtlasBaseException(AtlasErrorCode.INVALID_SEARCH_PARAMS);
private AtlasSearchResult executeSavedSearch(AtlasUserSavedSearch savedSearch) throws AtlasBaseException { SearchParameters sp = savedSearch.getSearchParameters(); if(savedSearch.getSearchType() == AtlasUserSavedSearch.SavedSearchType.ADVANCED) { String dslQuery = atlasDiscoveryService.getDslQueryUsingTypeNameClassification(sp.getQuery(), sp.getTypeName(), sp.getClassification()); return atlasDiscoveryService.searchUsingDslQuery(dslQuery, sp.getLimit(), sp.getOffset()); } else { return atlasDiscoveryService.searchWithParameters(sp); } }