All Products
Search
Document Center

OpenSearch:BasicSimilarityScorer

Last Updated:Feb 08, 2023

The BasicSimilarityScorer class is used to calculate scores. The calculated scores can be used in the IntelligenceAlgorithmScorer class.

Constructor

Function

Description

BasicSimilarityScore create(OpsScorerInitParams params)

Creates a BasicSimilarityScore object.

Function

Function

Description

double evaluate(OpsScoreParams params)

Calculates the score of a document.

Function details

BasicSimilarityScore create(OpsScorerInitParams params)

Creates a BasicSimilarityScore object. This function is a factory function.

Parameter: params: the parameters that are used for initialization. For more information, see OpsScorerInitParams.

double evaluate(OpsScoreParams params)

Calculates the score of a document.

Parameter:

params: the parameters that are used for score calculation. For more information, see OpsScoreParams.

Return value:

The calculated score of a document.

Sample code:

package users.scorer;
import com.aliyun.opensearch.cava.framework.OpsScoreParams;
import com.aliyun.opensearch.cava.framework.OpsScorerInitParams;
import com.aliyun.opensearch.cava.features.similarity.fieldmatch.BM25F;
import com.aliyun.opensearch.cava.features.similarity.BasicSimilarityScore;

class BasicSimilarityScorer {
    BM25F _f1;
    boolean init(OpsScorerInitParams params) {
        CString[] fields1 = {"title"};
        _f1 = BM25F.create(params, "default", fields1);
        _f1.setFieldAvgLength("title", 10);
        _f1.setFieldWeight("title", 10D);
        _f1.setFieldParamB("title", 0.6);
        return true;
    }

    double score(OpsScoreParams params) {
        return _f1.evaluate(params);
    }
};

class IntelligenceAlgorithmScorer {
    BasicSimilarityScore _f1;
    boolean init(OpsScorerInitParams params) {
        _f1 = BasicSimilarityScore.create(params);
        return true;
    }

    double score(OpsScoreParams params) {
        return _f1.evaluate(params);
    }
};