Class MoreLikeThisQuery

java.lang.Object
org.apache.lucene.search.Query
org.apache.lucene.queries.mlt.MoreLikeThisQuery

public class MoreLikeThisQuery extends Query
A simple wrapper for MoreLikeThis for use in scenarios where a Query object is required eg in custom QueryParser extensions. At query.rewrite() time the reader is used to construct the actual MoreLikeThis object and obtain the real Query object.
  • Field Details

    • likeText

      private String likeText
    • moreLikeFields

      private String[] moreLikeFields
    • analyzer

      private Analyzer analyzer
    • fieldName

      private final String fieldName
    • percentTermsToMatch

      private float percentTermsToMatch
    • minTermFrequency

      private int minTermFrequency
    • maxQueryTerms

      private int maxQueryTerms
    • stopWords

      private Set<?> stopWords
    • minDocFreq

      private int minDocFreq
  • Constructor Details

    • MoreLikeThisQuery

      public MoreLikeThisQuery(String likeText, String[] moreLikeFields, Analyzer analyzer, String fieldName)
      Parameters:
      moreLikeFields - fields used for similarity measure
  • Method Details

    • rewrite

      public Query rewrite(IndexSearcher indexSearcher) throws IOException
      Description copied from class: Query
      Expert: called to re-write queries into primitive queries. For example, a PrefixQuery will be rewritten into a BooleanQuery that consists of TermQuerys.

      Callers are expected to call rewrite multiple times if necessary, until the rewritten query is the same as the original query.

      The rewrite process may be able to make use of IndexSearcher's executor and be executed in parallel if the executor is provided.

      Overrides:
      rewrite in class Query
      Throws:
      IOException
      See Also:
    • toString

      public String toString(String field)
      Description copied from class: Query
      Prints a query to a string, with field assumed to be the default field and omitted.
      Specified by:
      toString in class Query
    • getPercentTermsToMatch

      public float getPercentTermsToMatch()
    • setPercentTermsToMatch

      public void setPercentTermsToMatch(float percentTermsToMatch)
    • getAnalyzer

      public Analyzer getAnalyzer()
    • setAnalyzer

      public void setAnalyzer(Analyzer analyzer)
    • getLikeText

      public String getLikeText()
    • setLikeText

      public void setLikeText(String likeText)
    • getMaxQueryTerms

      public int getMaxQueryTerms()
    • setMaxQueryTerms

      public void setMaxQueryTerms(int maxQueryTerms)
    • getMinTermFrequency

      public int getMinTermFrequency()
    • setMinTermFrequency

      public void setMinTermFrequency(int minTermFrequency)
    • getMoreLikeFields

      public String[] getMoreLikeFields()
    • setMoreLikeFields

      public void setMoreLikeFields(String[] moreLikeFields)
    • getStopWords

      public Set<?> getStopWords()
    • setStopWords

      public void setStopWords(Set<?> stopWords)
    • getMinDocFreq

      public int getMinDocFreq()
    • setMinDocFreq

      public void setMinDocFreq(int minDocFreq)
    • hashCode

      public int hashCode()
      Description copied from class: Query
      Override and implement query hash code properly in a subclass. This is required so that QueryCache works properly.
      Specified by:
      hashCode in class Query
      See Also:
    • equals

      public boolean equals(Object other)
      Description copied from class: Query
      Override and implement query instance equivalence properly in a subclass. This is required so that QueryCache works properly.

      Typically a query will be equal to another only if it's an instance of the same class and its document-filtering properties are identical to those of the other instance. Utility methods are provided for certain repetitive code.

      Specified by:
      equals in class Query
      See Also:
    • equalsTo

      private boolean equalsTo(MoreLikeThisQuery other)
    • visit

      public void visit(QueryVisitor visitor)
      Description copied from class: Query
      Recurse through the query tree, visiting any child queries.
      Specified by:
      visit in class Query
      Parameters:
      visitor - a QueryVisitor to be called by each query in the tree