List of usage examples for org.apache.solr.common.params MoreLikeThisParams MAX_QUERY_TERMS
String MAX_QUERY_TERMS
To view the source code for org.apache.solr.common.params MoreLikeThisParams MAX_QUERY_TERMS.
Click Source Link
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 www . 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); } }
From source file:de.fhg.iais.cortex.search.SearcherTest.java
License:Apache License
@Test public void testMoreLikeThis() throws SolrServerException { this.query.setMoreLikeThisFields("affiliate_fct label"); when(this.mockMLTSearchParams.getMltMinDocFrequency()).thenReturn(100); when(this.mockMLTSearchParams.getMltMinTermFrequency()).thenReturn(4); when(this.mockMLTSearchParams.getMltMinWordLength()).thenReturn(10); when(this.mockMLTSearchParams.isMltBoost()).thenReturn(true); when(this.mockMLTSearchParams.getMltMaxQueryTerms()).thenReturn(10); when(this.mockMLTSearchParams.getMltMaxTokensParsed()).thenReturn(10); when(this.mockMLTSearchParams.getMltSimilarFields()).thenReturn(""); this.searcher.moreLikeThis(this.query); Mockito.verify(this.mockMltQueryBuilder).setParameter(MoreLikeThisParams.MIN_DOC_FREQ, 100); Mockito.verify(this.mockMltQueryBuilder).setParameter(MoreLikeThisParams.MIN_TERM_FREQ, 4); Mockito.verify(this.mockMltQueryBuilder).setParameter(MoreLikeThisParams.MIN_WORD_LEN, 10); Mockito.verify(this.mockMltQueryBuilder).setParameter(MoreLikeThisParams.MAX_QUERY_TERMS, 10); Mockito.verify(this.mockMltQueryBuilder).setParameter(MoreLikeThisParams.MAX_NUM_TOKENS_PARSED, 10); Mockito.verify(this.mockMltQueryBuilder).setParameter(MoreLikeThisParams.SIMILARITY_FIELDS, "affiliate_fct label"); Mockito.verify(this.mockMltQueryBuilder).addExcludingFilterQueries(this.query.getExclusions()); Mockito.verify(this.mockMltQueryBuilder).build(); Mockito.verify(this.serverMock).query(Matchers.any(SolrQuery.class)); Mockito.verify(this.factoryMock).createSearchResults(this.query, this.responseMock, true); }