private static List<String> parse(String s) {

        List<String> keywords = new ArrayList<String>();

        StringBuilder buff = new StringBuilder();
        for (int i = 0; i < s.length(); i++) {
            char c = s.charAt(i);
            if (Character.isLetter(c) || Character.isDigit(c)) {
                buff.append(Character.toLowerCase(c));
            } else {

                String keyword = buff.toString();
                if (keyword.length() > 0 && !ignoredKeywords.contains(keyword)) {
                    keywords.add(keyword);
                }
                buff.setLength(0);
            }
        }
        return keywords;
    }