Code example for Splitter

Methods: split

0
 
    @Override 
    public void extract(RegexpQuery query, List<QueryTerm> terms,
                            List<Extractor<?>> extractors) {
        String regexp = parseOutRegexp(query.toString(""));
        String substr = Iterables.getFirst(byLengthOrdering.greatestOf(regexpSplitter.split(regexp), 1), "");
        terms.add(new QueryTerm(query.getField(), substr + ngramSuffix, QueryTerm.Type.WILDCARD));
    } 
 
    /** 
     * The only way to extract a regexp from a RegexpQuery is by parsing it's 
     * toString(String) output.  Which is a bit rubbish, really... 
     * @param queryRepresentation the toString() representation of a RegexpQuery 
     * @return the regular expression for the query 
     */ 
    public static String parseOutRegexp(String queryRepresentation) {
        int fieldSepPos = queryRepresentation.indexOf(":");
        int firstSlash = queryRepresentation.indexOf("/", fieldSepPos);
        int lastSlash = queryRepresentation.lastIndexOf("/");
        return queryRepresentation.substring(firstSlash + 1, lastSlash);
    }