public SearchEngineQueryBuilder.SearchEngineMoreLikeThisQueryBuilder setMaxWordLen(int maxWordLen) { moreLikeThis.setMaxWordLen(maxWordLen); return this; }
private void copy(MoreLikeThis moreLikeThis) { moreLikeThis.setAnalyzer(this.moreLikeThis.getAnalyzer()); moreLikeThis.setBoost(this.moreLikeThis.isBoost()); moreLikeThis.setFieldNames(this.moreLikeThis.getFieldNames()); moreLikeThis.setMaxNumTokensParsed(this.moreLikeThis.getMaxNumTokensParsed()); moreLikeThis.setMaxQueryTerms(this.moreLikeThis.getMaxQueryTerms()); moreLikeThis.setMaxWordLen(this.moreLikeThis.getMaxWordLen()); moreLikeThis.setMinDocFreq(this.moreLikeThis.getMinDocFreq()); moreLikeThis.setMinTermFreq(this.moreLikeThis.getMinTermFreq()); moreLikeThis.setMinWordLen(this.moreLikeThis.getMinWordLen()); moreLikeThis.setStopWords(this.moreLikeThis.getStopWords()); } }
public MoreLikeThisHelper( SolrParams params, SolrIndexSearcher searcher ) { this.searcher = searcher; this.reader = searcher.getReader(); this.uniqueKeyField = searcher.getSchema().getUniqueKeyField(); this.needDocSet = params.getBool(FacetParams.FACET,false); SolrParams required = params.required(); String[] fields = splitList.split( required.get(MoreLikeThisParams.SIMILARITY_FIELDS) ); if( fields.length < 1 ) { throw new SolrException( SolrException.ErrorCode.BAD_REQUEST, "MoreLikeThis requires at least one similarity field: "+MoreLikeThisParams.SIMILARITY_FIELDS ); } this.mlt = new MoreLikeThis( reader ); // TODO -- after LUCENE-896, we can use , searcher.getSimilarity() ); mlt.setFieldNames(fields); mlt.setAnalyzer( searcher.getSchema().getAnalyzer() ); // configurable params mlt.setMinTermFreq( params.getInt(MoreLikeThisParams.MIN_TERM_FREQ, MoreLikeThis.DEFAULT_MIN_TERM_FREQ)); mlt.setMinDocFreq( params.getInt(MoreLikeThisParams.MIN_DOC_FREQ, MoreLikeThis.DEFAULT_MIN_DOC_FREQ)); mlt.setMinWordLen( params.getInt(MoreLikeThisParams.MIN_WORD_LEN, MoreLikeThis.DEFAULT_MIN_WORD_LENGTH)); mlt.setMaxWordLen( params.getInt(MoreLikeThisParams.MAX_WORD_LEN, MoreLikeThis.DEFAULT_MAX_WORD_LENGTH)); mlt.setMaxQueryTerms( params.getInt(MoreLikeThisParams.MAX_QUERY_TERMS, MoreLikeThis.DEFAULT_MAX_QUERY_TERMS)); mlt.setMaxNumTokensParsed(params.getInt(MoreLikeThisParams.MAX_NUM_TOKENS_PARSED, MoreLikeThis.DEFAULT_MAX_NUM_TOKENS_PARSED)); mlt.setBoost( params.getBool(MoreLikeThisParams.BOOST, false ) ); boostFields = SolrPluginUtils.parseFieldBoosts(params.getParams(MoreLikeThisParams.QF)); }