org.apache.lucene.search.similarities

## Class MultiSimilarity

- java.lang.Object
- - org.apache.lucene.search.similarities.Similarity
  - - org.apache.lucene.search.similarities.MultiSimilarity

-     public class MultiSimilarity
      extends Similarity

  Implements the CombSUM method for combining evidence from multiple similarity values described in: Joseph A. Shaw, Edward A. Fox. In Text REtrieval Conference (1993), pp. 243-252
  WARNING: This API is experimental and might change in incompatible ways in the next release.

- - ### Nested Class Summary

    - ### Nested classes/interfaces inherited from class org.apache.lucene.search.similarities.Similarity

      `Similarity.ExactSimScorer, Similarity.SimWeight, Similarity.SloppySimScorer`

  - ### Field Summary

    Fields
    Modifier and Type | Field and Description
    --- | ---
    `protected Similarity[]` | `sims` the sub-similarities used to create the combined score

  - ### Constructor Summary

    Constructors
    Constructor and Description
    `MultiSimilarity(Similarity[] sims)` Creates a MultiSimilarity which will sum the scores of the provided `sims`.

  - ### Method Summary

    Methods
    Modifier and Type | Method and Description
    --- | ---
    `long` | `computeNorm(FieldInvertState state)` Computes the normalization value for a field, given the accumulated state of term processing for this field (see `FieldInvertState`).
    `Similarity.SimWeight` | `computeWeight(float queryBoost, CollectionStatistics collectionStats, TermStatistics... termStats)` Compute any collection-level weight (e.g.
    `Similarity.ExactSimScorer` | `exactSimScorer(Similarity.SimWeight stats, AtomicReaderContext context)` Creates a new `Similarity.ExactSimScorer` to score matching documents from a segment of the inverted index.
    `Similarity.SloppySimScorer` | `sloppySimScorer(Similarity.SimWeight stats, AtomicReaderContext context)` Creates a new `Similarity.SloppySimScorer` to score matching documents from a segment of the inverted index.

    - ### Methods inherited from class org.apache.lucene.search.similarities.Similarity

      `coord, queryNorm`

    - ### Methods inherited from class java.lang.Object

      `clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

- - ### Field Detail

    - #### sims

          protected final Similarity[] sims

      the sub-similarities used to create the combined score

  - ### Constructor Detail

    - #### MultiSimilarity

          public MultiSimilarity(Similarity[] sims)

      Creates a MultiSimilarity which will sum the scores of the provided `sims`.

  - ### Method Detail

    - #### computeNorm

          public long computeNorm(FieldInvertState state)

      Description copied from class: `Similarity`
      Computes the normalization value for a field, given the accumulated state of term processing for this field (see `FieldInvertState`).

      Matches in longer fields are less precise, so implementations of this method usually set smaller values when `state.getLength()` is large, and larger values when `state.getLength()` is small.

      Specified by:
        `computeNorm` in class `Similarity`
      Parameters:
        `state` - current processing state for this field
      Returns:
        computed norm value

    - #### computeWeight

          public Similarity.SimWeight computeWeight(float queryBoost,
                                           CollectionStatistics collectionStats,
                                           TermStatistics... termStats)

      Description copied from class: `Similarity`
      Compute any collection-level weight (e.g. IDF, average document length, etc) needed for scoring a query.
      Specified by:
        `computeWeight` in class `Similarity`
      Parameters:
        `queryBoost` - the query-time boost.
        `collectionStats` - collection-level statistics, such as the number of tokens in the collection.
        `termStats` - term-level statistics, such as the document frequency of a term across the collection.
      Returns:
        SimWeight object with the information this Similarity needs to score a query.

    - #### exactSimScorer

          public Similarity.ExactSimScorer exactSimScorer(Similarity.SimWeight stats,
                                                 AtomicReaderContext context)
                                                   throws IOException

      Description copied from class: `Similarity`
      Creates a new `Similarity.ExactSimScorer` to score matching documents from a segment of the inverted index.
      Specified by:
        `exactSimScorer` in class `Similarity`
      Parameters:
        `stats` - collection information from `Similarity.computeWeight(float, CollectionStatistics, TermStatistics...)`
        `context` - segment of the inverted index to be scored.
      Returns:
        ExactSimScorer for scoring documents across `context`
      Throws:
        `IOException` - if there is a low-level I/O error

    - #### sloppySimScorer

          public Similarity.SloppySimScorer sloppySimScorer(Similarity.SimWeight stats,
                                                   AtomicReaderContext context)
                                                     throws IOException

      Description copied from class: `Similarity`
      Creates a new `Similarity.SloppySimScorer` to score matching documents from a segment of the inverted index.
      Specified by:
        `sloppySimScorer` in class `Similarity`
      Parameters:
        `stats` - collection information from `Similarity.computeWeight(float, CollectionStatistics, TermStatistics...)`
        `context` - segment of the inverted index to be scored.
      Returns:
        SloppySimScorer for scoring documents across `context`
      Throws:
        `IOException` - if there is a low-level I/O error

Copyright © 2000-2013 Apache Software Foundation. All Rights Reserved.