## 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.SimScorer, Similarity.SimWeight`

Field Summary
`protected Similarity[]` `sims` the sub-similarities used to create the combined score

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

Method Summary
`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.SimScorer` `simScorer(Similarity.SimWeight stats, AtomicReaderContext context)` Creates a new `Similarity.SimScorer` 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.

### simScorer

    public Similarity.SimScorer simScorer(Similarity.SimWeight stats,
                                          AtomicReaderContext context)
                                   throws IOException

  Description copied from class: `Similarity`
  Creates a new `Similarity.SimScorer` to score matching documents from a segment of the inverted index.

  Specified by:
    `simScorer` 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.