class SuggesterQueryBuilder extends QueryBuilder {

    private final String suggestField;
    private final String identifier;

    private SuggesterQueryParser suggesterQueryParser;

    /**
     * @param suggestField field that contain the {@link SuggesterQuery}
     * @param identifier identifier that was inserted into the query to detect the {@link SuggesterQuery}
     */
    public SuggesterQueryBuilder(final String suggestField, final String identifier) {
        this.suggestField = suggestField;
        this.identifier = identifier;
    }

    public SuggesterQuery getSuggesterQuery() {
        return suggesterQueryParser.getSuggesterQuery();
    }

    public String getIdentifier() {
        return suggesterQueryParser.getIdentifier();
    }

    public String getQueryTextWithPlaceholder() {
        return suggesterQueryParser.getQueryTextWithPlaceholder();
    }

    /** {@inheritDoc} */
    @Override
    protected Query buildQuery(final String field, final String queryText)
            throws ParseException {<FILL_FUNCTION_BODY>}

}


        if (field.equals(suggestField)) {
            suggesterQueryParser = new SuggesterQueryParser(field, identifier);
            return suggesterQueryParser.parse(queryText);
        } else {
            return new CustomQueryParser(field).parse(queryText);
        }
    
<methods>public non-sealed void <init>() ,public Query build() throws ParseException,public List<java.lang.String> getContextFields() ,public java.lang.String getDefs() ,public java.lang.String getDirPath() ,public java.lang.String getFreetext() ,public java.lang.String getHist() ,public java.lang.String getPath() ,public Map<java.lang.String,java.lang.String> getQueries() ,public java.lang.String getRefs() ,public static List<java.lang.String> getSearchFields() ,public int getSize() ,public java.lang.String getType() ,public boolean isDefSearch() ,public boolean isPathSearch() ,public static boolean isSearchField(java.lang.String) ,public static java.lang.String normalizeDirPath(java.lang.String) ,public org.opengrok.indexer.search.QueryBuilder reset(org.opengrok.indexer.search.QueryBuilder) ,public org.opengrok.indexer.search.QueryBuilder setDefs(java.lang.String) ,public org.opengrok.indexer.search.QueryBuilder setDirPath(java.lang.String) ,public org.opengrok.indexer.search.QueryBuilder setFreetext(java.lang.String) ,public org.opengrok.indexer.search.QueryBuilder setHist(java.lang.String) ,public org.opengrok.indexer.search.QueryBuilder setPath(java.lang.String) ,public org.opengrok.indexer.search.QueryBuilder setRefs(java.lang.String) ,public org.opengrok.indexer.search.QueryBuilder setType(java.lang.String) <variables>public static final java.lang.String D,public static final java.lang.String DATE,public static final java.lang.String DEFS,public static final java.lang.String DIRPATH,private static final java.lang.String DIRPATH_HASH_ALGORITHM,public static final java.lang.String FULL,public static final java.lang.String FULLPATH,public static final java.lang.String HIST,public static final java.lang.String LASTREV,public static final java.lang.String LOC,public static final java.lang.String NUML,public static final java.lang.String OBJSER,public static final java.lang.String OBJUID,public static final java.lang.String OBJVER,public static final java.lang.String PATH,public static final java.lang.String PROJECT,public static final java.lang.String REFS,public static final java.lang.String SCOPES,public static final java.lang.String T,public static final java.lang.String TAGS,public static final java.lang.String TYPE,public static final java.lang.String U,private final Map<java.lang.String,java.lang.String> queries,protected static final List<java.lang.String> searchFields,private static final HashSet<java.lang.String> searchFieldsSet