/** * Constructor. * * @param d data reference * @throws IOException IOException */ FTBuilder(final Data d) throws IOException { super(d); final Prop prop = d.meta.prop; final FTOpt fto = new FTOpt(); fto.set(FTFlag.DC, prop.is(Prop.DIACRITICS)); fto.set(FTFlag.CS, prop.is(Prop.CASESENS)); fto.set(FTFlag.ST, prop.is(Prop.STEMMING)); fto.sw = new StopWords(d, prop.get(Prop.STOPWORDS)); fto.ln = Language.get(prop); if (!Tokenizer.supportFor(fto.ln)) throw new BaseXException(NO_TOKENIZER_X, fto.ln); if (prop.is(Prop.STEMMING) && !Stemmer.supportFor(fto.ln)) throw new BaseXException(NO_STEMMER_X, fto.ln); scm = d.meta.scoring; max = -1; min = Integer.MAX_VALUE; lex = new FTLexer(fto); }