Java Examples for zemberek.morphology.parser.MorphParse

The following java examples will help you to understand the usage of zemberek.morphology.parser.MorphParse. These source code samples are taken from different open source projects.

Example 1
Project: lucene-solr-analysis-turkish-master  File: Zemberek3StemFilter.java View source code
private static List<MorphParse> selectMorphemes(List<MorphParse> parses, String strategy) {
    // if 0 or 1
    if (parses.size() < 2)
        return parses;
    switch(strategy) {
        case "all":
            return parses;
        case "maxMorpheme":
            final int max = parses.stream().map( morphParse -> morphParse.inflectionalGroups.size()).max(Comparator.naturalOrder()).get();
            return parses.stream().filter( parse -> parse.inflectionalGroups.size() == max).collect(Collectors.toList());
        case "minMorpheme":
            final int min = parses.stream().map( morphParse -> morphParse.inflectionalGroups.size()).min(Comparator.naturalOrder()).get();
            return parses.stream().filter( parse -> parse.inflectionalGroups.size() == min).collect(Collectors.toList());
        default:
            throw new RuntimeException("unknown strategy " + strategy);
    }
}