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(IndexReader reader) 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.

      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 that 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