java.lang.Object
org.apache.lucene.search.Query
org.apache.lucene.classification.utils.NearestFuzzyQuery

public class NearestFuzzyQuery extends Query
Simplification of FuzzyLikeThisQuery, to be used in the context of KNN classification.
  • Field Details

  • Constructor Details

    • NearestFuzzyQuery

      public NearestFuzzyQuery(Analyzer analyzer)
      Default constructor
      Parameters:
      analyzer - the analyzer used to process the query text
  • Method Details

    • addTerms

      public void addTerms(String queryString, String fieldName)
      Adds user input for "fuzzification"
      Parameters:
      queryString - The string which will be parsed by the analyzer and for which fuzzy variants will be parsed
    • addTerms

      Throws:
      IOException
    • idf

      private float idf(int docFreq, int docCount)
    • newTermQuery

      private Query newTermQuery(IndexReader reader, Term term) throws IOException
      Throws:
      IOException
    • 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
    • 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(NearestFuzzyQuery 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