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

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

Introduction

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

Prototype

String BOOST

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

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  . jav a2  s  . 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);
    }
}