Example usage for org.apache.solr.common.params MoreLikeThisParams MAX_WORD_LEN

List of usage examples for org.apache.solr.common.params MoreLikeThisParams MAX_WORD_LEN

Introduction

In this page you can find the example usage for org.apache.solr.common.params MoreLikeThisParams MAX_WORD_LEN.

Prototype

String MAX_WORD_LEN

To view the source code for org.apache.solr.common.params MoreLikeThisParams MAX_WORD_LEN.

Click Source Link

Usage

From source file:de.fhg.iais.cortex.search.Searcher.java

License:Apache License

/**
 * Get similar documents regarding the most relevant document specified by the query.
 * //from  w  w w.j  ava2s.  c o  m
 * @param query Query to get base document for similarity search
 * @return {@link SearchResults}
 */

public SearchResults<SearchResult> moreLikeThis(Query query) {
    MltSolrQueryBuilder mltQueryBuilder = this.queryBuilderFactory.newMltQueryBuilder(query.getQuery(),
            (query.getOffset() < 0) ? 0 : query.getOffset(),
            (query.getRows() < 0) ? this.mltSearchParameters.getMltRows() : query.getRows());
    mltQueryBuilder
            .setParameter(MoreLikeThisParams.MIN_DOC_FREQ, this.mltSearchParameters.getMltMinDocFrequency())
            .setParameter(MoreLikeThisParams.MIN_TERM_FREQ, this.mltSearchParameters.getMltMinTermFrequency())
            .setParameter(MoreLikeThisParams.MIN_WORD_LEN, this.mltSearchParameters.getMltMinWordLength())
            .setParameter(MoreLikeThisParams.MAX_WORD_LEN, this.mltSearchParameters.getMltMaxWordLength())
            .setParameter(MoreLikeThisParams.BOOST, this.mltSearchParameters.isMltBoost())
            .setParameter(MoreLikeThisParams.MAX_QUERY_TERMS, this.mltSearchParameters.getMltMaxQueryTerms())
            .setParameter(MoreLikeThisParams.MAX_NUM_TOKENS_PARSED,
                    this.mltSearchParameters.getMltMaxTokensParsed())
            .setParameter(MoreLikeThisParams.SIMILARITY_FIELDS,
                    Strings.isNullOrEmpty(query.getMoreLikeThisFields())
                            ? this.mltSearchParameters.getMltSimilarFields()
                            : query.getMoreLikeThisFields())
            .addExcludingFilterQueries(query.getExclusions());

    SolrQuery solrQuery = mltQueryBuilder.build();
    try {
        QueryResponse queryResponse = this.solrServer.query(solrQuery);

        return this.factory.createSearchResults(query, queryResponse, true);

    } catch (SolrServerException e) {
        throw new SearchException(e);
    }
}