Docs Menu
Docs Home
/ /

スコアの詳細を返す

$search ステージで scoreDetailsブール値オプションを使用すると、クエリ結果内の各ドキュメントのスコアの詳細な内訳を示すことができます。

scoreDetails: true$searchステージで設定すると、MongoDB 検索するは一致する各ドキュメントの詳細なスコアリング情報を返します。この情報は、ドキュメントがクエリに一致し、検索結果で関連性スコアを受け取った理由を説明します。

デフォルトでは 、スコアリングは bm25 式に基づいています。

  • 期間頻度:ドキュメントに検索期間が表示される頻度

  • 逆のドキュメント頻度: すべてのドキュメント間での検索する期間の一般性

  • フィールド長: クエリに一致するフィールドの長さ

scoreDetails オプションはこれらの要素を分析することで、ドキュメントがクエリに一致し、そのスコアを受け取った理由を分析するのに役立ちます。

メタデータを表示するには、 ステージで $meta $project式を使用する必要があります。

{
"$search": {
"<operator>": {
<operator-specification>
},
"scoreDetails": true | false
}
},
{
"$project": {
"scoreDetails": {"$meta": "searchScoreDetails"}
}
}

$search ステージでは、 scoreDetailsブール値オプションは次のいずれかの値を取ります。

  • true - 結果にドキュメントのスコアの詳細を含める場合。true に設定すると、 MongoDB Search は結果の各ドキュメントのスコアの詳細な内訳を返します。これにより、特定のドキュメントがMongoDB 検索クエリに一致した理由に関する情報が提供されます。詳細については、出力を参照してください。

  • false - 結果のスコア内訳の詳細を除外します。 (デフォルト)

省略した場合、 scoreDetailsオプションはデフォルトでfalseになります。

$project ステージでは、 scoreDetailsフィールドは$meta式。これには、次の値が必要です。

searchScoreDetails

結果内の各ドキュメントのスコアの詳細な内訳を返します。

scoreDetailsオプションは、結果内の各ドキュメントのscoreDetailsオブジェクト内のdetails配列の次のフィールドを返します。

フィールド
タイプ
説明

value

float

スコアリング式のサブセットによるスコアへの貢献。 最上位のvalueは結果ドキュメントのスコア全体を表示し、 $searchScoreの値と等しくなります。

スコアリングの計算式は、クエリで使用される演算子によって異なります。例えば、MongoDB Search は 距離減衰関数 を使用して、near 演算子のスコアを計算します。

description

string

ドキュメントがスコア付けされた方法と、スコアの計算に考慮された要素に関する詳細を含む、スコアリング式のサブセット。 最上位のdescriptionは、ドキュメントをスコアリングするために使用されるスコアリング式全体を示します。

詳細については、「 スコアに貢献する要因 」を参照してください。

details

オブジェクトの配列

スコアリング 式のサブセットに基づく、ドキュメント内の各一致のスコアの内訳。 値は、 構造内で再帰的なスコア詳細オブジェクトの配列です。

異なるクエリ演算子は、結果に含まれる各ドキュメントの searchScore を計算するために異なるアルゴリズムを使用します。次のセクションでは、一般的なクエリ演算子がスコアリングを取り扱う方法について説明します。

デフォルトでは、textphrasequeryStringautocomplete の各演算子は、bm25 の類似性アルゴリズムを用いてドキュメントのスコアを算出します。

複数のクエリでコンシステントな結果が必要な場合、特に以下の両方が当てはまる場合は、stableTfl またはboolean アルゴリズムを使用することをお勧めします。

  • アプリケーションは結果をsearchScoreで並べ替え、結果をページ区切りします。これは、重複やドキュメントのスキップを防ぐために決定論的スコアリングに依存しています。

  • 配置で専用の MongoDB Search ノード を使用しているか、読み込み設定secondary または nearest に設定されている場合、初期およびその後のクエリが異なる MongoDB Search ノードにルーティングされる可能性が高くなります。

bm25 後続のクエリ間でスコアが一貫していない可能性があります。各 MongoDB Search ノードは MongoDB Search インデックスをビルドし、更新および削除操作を独立して実行します。その結果、ドキュメント コーパスは異なる MongoDB Search ノード間で異なる可能性があります。bm25 の計算はドキュメント コーパスに依存するため、異なる MongoDB Search ノードにルーティングされるクエリでは、同じドキュメントに対して異なる bm25 スコアが計算される可能性があります。

異なる類似性アルゴリズムを使用するには、MongoDB Search インデックス定義で similarity.type プロパティを、MongoDB Search string または autocomplete 型としてインデックスするフィールドに対して指定します。これらの型に対する MongoDB Search インデックスの設定方法については、「string フィールドのインデックス作成方法」あるいは「オートコンプリートのためのフィールドのインデックス作成方法 」を参照してください。

MongoDB Search インデックス定義でsimilarity.type プロパティを指定する際には、以下の類似性アルゴリズムから選ぶことができます。

bm25 は、次の基づいてドキュメントをランク付けする一般的なランキングアルゴリズムです。

  • 期間頻度:ドキュメントに検索期間が表示される頻度

  • 逆のドキュメント頻度: すべてのドキュメント間での検索する期間の一般性

  • フィールド長: クエリに一致するフィールドの長さ

bm25 はスコアを boost * idf * tf として計算し、各因子は次のように定義されます。

係数
説明

boost

クエリ演算子のscore.boostオプションを使用してクエリ時に指定された係数。ドキュメント内の数値フィールドの値、または正の数値に boost を設定できます。詳しくは、「ブースト」をご覧ください。

idf

クエリの逆ドキュメント頻度。MongoDB Search は、次の式を使用して頻度を計算します。

idf = log(1 + (N - n + 0.5) / (n + 0.5))

以下の条件に一致するもの。

  • N はクエリフィールドを持つドキュメントの合計数です。

  • n はクエリ用語を含むドキュメントの数です。

tf

ターム頻度。MongoDB Search は、次の式を使用して頻度を計算します。

tf = freq / (freq + k1 * (1 - b + b * dl / avgdl))

以下の条件に一致するもの。

  • freq は、ドキュメント内のタームの出現の数です。

  • k1 は、内部的に指定された用語飽和パラメーターです。用語が繰り返されるたびにスコアがどれだけ増加するかに影響します。

  • b は内部指定された長さ正規化パラメーターです。bdlavgdlの比率で掛けられます。bが増加すると、dlavgdlの比率の効果が増幅されます。

  • dl は、ドキュメントのフィールドの長さです。

  • avgdl は、すべてのドキュメントにおける フィールドの平均長です。

boolean 各クエリ用語がドキュメント内に存在するかどうかを確認し、見つかった用語の数をカウントするスコアリングアルゴリズムです。一致する用語はすべて均等に扱われ、用語の重要性や頻度は調整されません。

boolean の場合、スコアはドキュメント内に存在するすべてのクエリ用語の合計として計算されます。各用語がドキュメント内に存在する場合、スコアに 1 の値を加算します。

stableTfl は、用語の長さを使用して用語の希少性を導き出すカスタム MongoDB Search ランキングアルゴリズムです。これは、長い単語は出現頻度が低い(より稀である)というジップの法則に基づいています。

stableTfl はスコアを boost * tr * tf として計算し、各因子は次のように定義されます。

係数
説明

boost

クエリ演算子のscore.boostオプションを使用してクエリ時に指定された係数。ドキュメント内の数値フィールドの値、または正の数値に boost を設定できます。詳しくは、「ブースト」をご覧ください。

tf

減衰関数。MongoDB Search は、次の式を使用して減衰関数を計算します。

tf = freq / (freq + k1)

以下の条件に一致するもの。

  • freq はドキュメント内のクエリ用語の出現頻度です。

  • k1 は、内部的に指定された用語飽和パラメーターです。用語が繰り返されるたびにスコアがどれだけ増加するかに影響します。

tr

用語の希少性。MongoDB Search は以下の式で用語の希少性を計算します。

tr = log(1 + (1 - p + 0.05)/(p + 0.05))

以下の条件に一致するもの。

  • p は、用語の長さに基づいて、ドキュメントにクエリ用語が出現する確率です。これは、長い単語ほど出現頻度が低くなるジップの法則に基づいています。用語の希少性を判定するため、MongoDB は用語の長さに基づく減衰関数を採用しています。

p

ジップの法則に基づく確率関数。MongoDB Search は、次の式を使用して、クエリ用語がドキュメントに表示される確率を計算します。

p = 1 - (1 - m * 2 ^ (-c * tl)) ^ dl

以下の条件に一致するもの。

  • m は、用語の確率に対する内部的に指定された乗法定数です。

  • c は、内部的に指定された減衰定数です。これは、用語が増加するにつれて p が減少する速度を制御します。

  • tl は、クエリ用語の長さを Unicode コードポイントで測定します。

  • dl は、トークン単位で測定されたドキュメント d の長さです。

near 演算子は、距離減衰関数を用いてドキュメントにスコアを付けます。MongoDB Search の結果と、origin値として設定した数字、日付、または地理的との近さを測定します。

距離減衰関数はスコアを pivot / (pivot + distance)次のように計算します。各係数は次のように定義されます。

係数
説明

pivot

fieldValueoriginの距離がそれに等しい場合に、スコアを0.5と等しくするための参照点として指定される値。 これは、 fieldValueoriginの距離が大きくなるにつれてスコアがどの程度早く低下するかを定義します。 fieldValueoriginの間の特定の距離の場合、 pivotが減少すると、スコアも減少します。

distance

fieldValueorigin の間の絶対距離。MongoDB Search は、次の式を使用してこの値を計算します。

abs(fieldValue - origin)

以下の条件に一致するもの。

  • fieldValue これは、ドキュメント内でクエリしているフィールドの値です。

  • origin は、付近を検索する番号、日付、または地理的な点です。

次の例は、次の の結果内のスコアの詳細を取得する方法を示しています。

Tip

オブジェクトの配列で再帰的にスコアの詳細を表示するには、次のコマンドを実行してmongoshの設定を構成します。

config.set('inspectDepth', Infinity)

次の例は、$searchscoreDetails テキスト 近似 、 複合 、 embeddedDocument 演算子クエリの結果内のドキュメントに対して オプションを使用してスコアの内訳を検索する方法を示しています。

次の例では、テキスト演算子を使用して、 sample_mflix.moviesコレクション内のtitleフィールドでautumnというタームをクエリします。 クエリでは、結果内の各ドキュメントのスコアの詳細な内訳を取得するために、 $searchステージでscoreDetailsオプションを指定します。 クエリは、 $limitステージを使用して結果を 3 つのドキュメントに制限し、 $projectステージを使用して次の操作を行います。

  • _idフィールドを除外します。

  • titleフィールドのみを含めます。

  • 結果にscoreフィールドを追加するとドキュメントのスコアが返され、 scoreDetailsフィールドを結果に追加するとドキュメントのスコアの詳細な内訳が返されます。

1db.movies.aggregate([
2 {
3 "$search": {
4 "text": {
5 "path": "title",
6 "query": "autumn"
7 },
8 "scoreDetails": true
9 }
10 },
11 {
12 "$limit": 3
13 },
14 {
15 "$project": {
16 "_id": 0,
17 "title": 1,
18 "score": { "$meta": "searchScore" },
19 "scoreDetails": { "$meta": "searchScoreDetails" }
20 }
21 }
22])
1[
2 {
3 title: 'Autumn Leaves',
4 score: 3.834893226623535,
5 scoreDetails: {
6 value: 3.834893226623535,
7 description: '$type:string/title:autumn [BM25Similarity], result of:',
8 details: [
9 {
10 value: 3.834893226623535,
11 description: 'score(freq=1.0), computed as boost * idf * tf from:',
12 details: [
13 {
14 value: 7.39188289642334,
15 description: 'idf, computed as log(1 + (N - n + 0.5) / (n + 0.5)) from:',
16 details: [
17 {
18 value: 14,
19 description: 'n, number of documents containing term',
20 details: []
21 },
22 {
23 value: 23529,
24 description: 'N, total number of documents with field',
25 details: []
26 }
27 ]
28 },
29 {
30 value: 0.5187978744506836,
31 description: 'tf, computed as freq / (freq + k1 * (1 - b + b * dl / avgdl)) from:',
32 details: [
33 {
34 value: 1,
35 description: 'freq, occurrences of term within document',
36 details: []
37 },
38 {
39 value: 1.2000000476837158,
40 description: 'k1, term saturation parameter',
41 details: []
42 },
43 {
44 value: 0.75,
45 description: 'b, length normalization parameter',
46 details: []
47 },
48 {
49 value: 2,
50 description: 'dl, length of field',
51 details: []
52 },
53 {
54 value: 2.868375301361084,
55 description: 'avgdl, average length of field',
56 details: []
57 }
58 ]
59 }
60 ]
61 }
62 ]
63 }
64 },
65 {
66 title: 'Late Autumn',
67 score: 3.834893226623535,
68 scoreDetails: {
69 value: 3.834893226623535,
70 description: '$type:string/title:autumn [BM25Similarity], result of:',
71 details: [
72 {
73 value: 3.834893226623535,
74 description: 'score(freq=1.0), computed as boost * idf * tf from:',
75 details: [
76 {
77 value: 7.39188289642334,
78 description: 'idf, computed as log(1 + (N - n + 0.5) / (n + 0.5)) from:',
79 details: [
80 {
81 value: 14,
82 description: 'n, number of documents containing term',
83 details: []
84 },
85 {
86 value: 23529,
87 description: 'N, total number of documents with field',
88 details: []
89 }
90 ]
91 },
92 {
93 value: 0.5187978744506836,
94 description: 'tf, computed as freq / (freq + k1 * (1 - b + b * dl / avgdl)) from:',
95 details: [
96 {
97 value: 1,
98 description: 'freq, occurrences of term within document',
99 details: []
100 },
101 {
102 value: 1.2000000476837158,
103 description: 'k1, term saturation parameter',
104 details: []
105 },
106 {
107 value: 0.75,
108 description: 'b, length normalization parameter',
109 details: []
110 },
111 {
112 value: 2,
113 description: 'dl, length of field',
114 details: []
115 },
116 {
117 value: 2.868375301361084,
118 description: 'avgdl, average length of field',
119 details: []
120 }
121 ]
122 }
123 ]
124 }
125 ]
126 }
127 },
128 {
129 title: 'Cheyenne Autumn',
130 score: 3.834893226623535,
131 scoreDetails: {
132 value: 3.834893226623535,
133 description: '$type:string/title:autumn [BM25Similarity], result of:',
134 details: [
135 {
136 value: 3.834893226623535,
137 description: 'score(freq=1.0), computed as boost * idf * tf from:',
138 details: [
139 {
140 value: 7.39188289642334,
141 description: 'idf, computed as log(1 + (N - n + 0.5) / (n + 0.5)) from:',
142 details: [
143 {
144 value: 14,
145 description: 'n, number of documents containing term',
146 details: []
147 },
148 {
149 value: 23529,
150 description: 'N, total number of documents with field',
151 details: []
152 }
153 ]
154 },
155 {
156 value: 0.5187978744506836,
157 description: 'tf, computed as freq / (freq + k1 * (1 - b + b * dl / avgdl)) from:',
158 details: [
159 {
160 value: 1,
161 description: 'freq, occurrences of term within document',
162 details: []
163 },
164 {
165 value: 1.2000000476837158,
166 description: 'k1, term saturation parameter',
167 details: []
168 },
169 {
170 value: 0.75,
171 description: 'b, length normalization parameter',
172 details: []
173 },
174 {
175 value: 2,
176 description: 'dl, length of field',
177 details: []
178 },
179 {
180 value: 2.868375301361084,
181 description: 'avgdl, average length of field',
182 details: []
183 }
184 ]
185 }
186 ]
187 }
188 ]
189 }
190 }
191]

MongoDB Search は、スコアを計算するために次の BM25Similarity 要素を考慮します。

係数
説明

boost

クエリ演算子のscore.boostオプションを使用してクエリ時に指定された係数。ドキュメント内の数値フィールドの値、または正の数値に boost を設定できます。詳しくは、「ブースト」をご覧ください。

idf

クエリの逆ドキュメント頻度。MongoDB Search は、次の式を使用して頻度を計算します。

idf = log(1 + (N - n + 0.5) / (n + 0.5))

以下の条件に一致するもの。

  • N はクエリフィールドを持つドキュメントの合計数です。

  • n はクエリ用語を含むドキュメントの数です。

tf

ターム頻度。MongoDB Search は、次の式を使用して頻度を計算します。

tf = freq / (freq + k1 * (1 - b + b * dl / avgdl))

以下の条件に一致するもの。

  • freq は、ドキュメント内のタームの出現の数です。

  • k1 は、内部的に指定された用語飽和パラメーターです。用語が繰り返されるたびにスコアがどれだけ増加するかに影響します。

  • b は内部指定された長さ正規化パラメーターです。bdlavgdlの比率で掛けられます。bが増加すると、dlavgdlの比率の効果が増幅されます。

  • dl は、ドキュメントのフィールドの長さです。

  • avgdl は、すべてのドキュメントにおける フィールドの平均長です。

次の例では、 near演算子を使用して、 sample_mflix.moviesコレクション内のreleasedフィールドで、 01と2010の前後にリリースされた映画をクエリします。 クエリでは、結果内の各ドキュメントのスコアの詳細な内訳を取得するために、 $searchステージでscoreDetailsオプションを指定します。 クエリは、 $limitステージを使用して結果を 3 つのドキュメントに制限し、 $projectステージを使用して次の操作を行います。

  • _idフィールドを除外します。

  • titlereleasedフィールドと フィールドのみを含めます。

  • 結果にscoreフィールドを追加するとドキュメントのスコアが返され、 scoreDetailsフィールドを結果に追加するとドキュメントのスコアの詳細な内訳が返されます。

1db.movies.aggregate([
2 {
3 "$search": {
4 "near": {
5 "path": "released",
6 "origin": ISODate("2010-01-01T00:00:00.000+00:00"),
7 "pivot": 7776000000
8 },
9 "scoreDetails": true
10 }
11 },
12 {
13 "$limit": 3
14 },
15 {
16 "$project": {
17 "_id": 0,
18 "title": 1,
19 "released": 1,
20 "score": { "$meta": "searchScore" },
21 "scoreDetails": { "$meta": "searchScoreDetails" }
22 }
23 }
24])
1[
2 {
3 title: 'Tony',
4 released: ISODate("2010-01-01T00:00:00.000Z"),
5 score: 1,
6 scoreDetails: {
7 value: 1,
8 description: 'Distance score, computed as weight * pivotDistance / (pivotDistance + abs(value - origin)) from:',
9 details: [
10 { value: 1, description: 'weight', details: [] },
11 {
12 value: 7776000000,
13 description: 'pivotDistance',
14 details: []
15 },
16 { value: 1262303969280, description: 'origin', details: [] },
17 {
18 value: 1262303969280,
19 description: 'current value',
20 details: []
21 }
22 ]
23 }
24 },
25 {
26 title: 'And Everything Is Going Fine',
27 released: ISODate("2010-01-01T00:00:00.000Z"),
28 score: 1,
29 scoreDetails: {
30 value: 1,
31 description: 'Distance score, computed as weight * pivotDistance / (pivotDistance + abs(value - origin)) from:',
32 details: [
33 { value: 1, description: 'weight', details: [] },
34 {
35 value: 7776000000,
36 description: 'pivotDistance',
37 details: []
38 },
39 { value: 1262303969280, description: 'origin', details: [] },
40 {
41 value: 1262303969280,
42 description: 'current value',
43 details: []
44 }
45 ]
46 }
47 },
48 {
49 title: 'A Film with Me in It',
50 released: ISODate("2010-01-01T00:00:00.000Z")
51 score: 1,
52 scoreDetails: {
53 value: 1,
54 description: 'Distance score, computed as weight * pivotDistance / (pivotDistance + abs(value - origin)) from:',
55 details: [
56 { value: 1, description: 'weight', details: [] },
57 {
58 value: 7776000000,
59 description: 'pivotDistance',
60 details: []
61 },
62 { value: 1262303969280, description: 'origin', details: [] },
63 {
64 value: 1262303969280,
65 description: 'current value',
66 details: []
67 }
68 ]
69 }
70 }
71]

距離スコアの場合、 MongoDB Search はスコアを計算するために次の要因を考慮します。

係数
説明

pivot

fieldValueoriginの距離がそれに等しい場合に、スコアを0.5と等しくするための参照点として指定される値。 これは、 fieldValueoriginの距離が大きくなるにつれてスコアがどの程度早く低下するかを定義します。 fieldValueoriginの間の特定の距離の場合、 pivotが減少すると、スコアも減少します。

distance

fieldValueorigin の間の絶対距離。MongoDB Search は、次の式を使用してこの値を計算します。

abs(fieldValue - origin)

以下の条件に一致するもの。

  • fieldValue これは、ドキュメント内でクエリしているフィールドの値です。

  • origin は、付近を検索する番号、日付、または地理的な点です。

次の例では、複合演算子を使用して、次の 句を使用する映画のsample_mflix.moviesコレクションをクエリします。

  • filter 句を使用して、タイトルにfriendというタームが含まれる映画を検索します。

  • must 句を使用して、 2000から2015年の間に公開された映画を検索します。

  • mustNot 句を使用して、 ShortWesternBiographyジャンルに該当しない映画を検索します。

クエリでは、 $searchステージでscoreDetailsオプションを指定し、結果内の各ドキュメントのスコアの詳細な内訳を取得します。 クエリは、 $limitステージを使用して結果を 3 つのドキュメントに制限し、 $projectステージを使用して次の操作を行います。

  • _idフィールドを除外します。

  • titlereleasedgenresフィールドのみを含めます。

  • 結果にscoreフィールドを追加するとドキュメントのスコアが返され、 scoreDetailsフィールドを結果に追加するとドキュメントのスコアの詳細な内訳が返されます。

1db.movies.aggregate([
2 {
3 "$search": {
4 "compound": {
5 "filter": [{
6 "text": {
7 "query": "friend",
8 "path": "title"
9 }
10 }],
11 "must": [{
12 "range": {
13 "path": "year",
14 "gte": 2000,
15 "lte": 2015
16 }
17 }],
18 "mustNot": [{
19 "text": {
20 "query": ["Short, Western", "Biography"],
21 "path": "genres"
22 }
23 }]
24 },
25 "scoreDetails": true
26 }
27 },
28 {
29 "$limit": 3
30 },
31 {
32 "$project": {
33 "_id": 0,
34 "title": 1,
35 "released": 1,
36 "genres": 1,
37 "score": { "$meta": "searchScore" },
38 "scoreDetails": { "$meta": "searchScoreDetails" }
39 }
40 }
41])
1[
2 {
3 genres: [ 'Comedy', 'Drama', 'Mystery' ],
4 title: 'With a Friend Like Harry...',
5 released: ISODate("2001-06-15T00:00:00.000Z"),
6 score: 1,
7 scoreDetails: {
8 value: 1,
9 description: 'sum of:',
10 details: [
11 {
12 value: 0,
13 description: 'match on required clause, product of:',
14 details: [
15 { value: 0, description: '# clause', details: [] },
16 {
17 value: 1,
18 description: '$type:string/title:friend',
19 details: []
20 }
21 ]
22 },
23 {
24 value: 1,
25 description: 'sum of:',
26 details: [
27 {
28 value: 1,
29 description: 'sum of:',
30 details: [
31 {
32 value: 1,
33 description: '$type:double/year:[4656510908468559872 TO 4656576879166226432]',
34 details: []
35 }
36 ]
37 }
38 ]
39 }
40 ]
41 }
42 },
43 {
44 genres: [ 'Drama' ],
45 title: 'My Friend Henry',
46 released: ISODate("2004-08-20T00:00:00.000Z"),
47 score: 1,
48 scoreDetails: {
49 value: 1,
50 description: 'sum of:',
51 details: [
52 {
53 value: 0,
54 description: 'match on required clause, product of:',
55 details: [
56 { value: 0, description: '# clause', details: [] },
57 {
58 value: 1,
59 description: '$type:string/title:friend',
60 details: []
61 }
62 ]
63 },
64 {
65 value: 1,
66 description: 'sum of:',
67 details: [
68 {
69 value: 1,
70 description: 'sum of:',
71 details: [
72 {
73 value: 1,
74 description: '$type:double/year:[4656510908468559872 TO 4656576879166226432]',
75 details: []
76 }
77 ]
78 }
79 ]
80 }
81 ]
82 }
83 },
84 {
85 genres: [ 'Comedy', 'Drama' ],
86 title: 'A Friend of Mine',
87 released: ISODate("2006-10-26T00:00:00.000Z"),
88 score: 1,
89 scoreDetails: {
90 value: 1,
91 description: 'sum of:',
92 details: [
93 {
94 value: 0,
95 description: 'match on required clause, product of:',
96 details: [
97 { value: 0, description: '# clause', details: [] },
98 {
99 value: 1,
100 description: '$type:string/title:friend',
101 details: []
102 }
103 ]
104 },
105 {
106 value: 1,
107 description: 'sum of:',
108 details: [
109 {
110 value: 1,
111 description: 'sum of:',
112 details: [
113 {
114 value: 1,
115 description: '$type:double/year:[4656510908468559872 TO 4656576879166226432]',
116 details: []
117 }
118 ]
119 }
120 ]
121 }
122 ]
123 }
124 }
125]

注意

15、56、97 行の結果における # clause は、複合演算子クエリの filter 句を表していますが、これはドキュメントのスコアには影響しません。

次の例では、 embeddedDocument演算子を使用して、 sample_training.companiesコレクション内のproducts.nameフィールドで、 Basicの前に任意の数の他の文字が続く製品をクエリします。 クエリは、返されるスコアが一致するすべての埋め込みドキュメントの合計である必要があることをembeddedDocument演算子内に指定します。 このクエリでは、結果内の各ドキュメントのスコアの詳細な内訳を取得するために、 $searchステージでscoreDetailsオプションも指定しています。 クエリは、 $limitステージを使用して結果を 3 つのドキュメントに制限し、 $projectステージを使用して次の操作を行います。

  • _idフィールドを除外します。

  • products.nameフィールドのみを含めます。

  • 結果にscoreフィールドを追加するとドキュメントのスコアが返され、 scoreDetailsフィールドを結果に追加するとドキュメントのスコアの詳細な内訳が返されます。

1db.companies.aggregate({
2 "$search": {
3 "embeddedDocument": {
4 "path": "products",
5 "operator": {
6 "wildcard": {
7 "path": "products.name",
8 "query": "*Basic",
9 "allowAnalyzedField": true
10 }
11 },
12 "score": {
13 "embedded": {
14 "aggregate": "sum"
15 }
16 }
17 },
18 "scoreDetails": true
19 }
20},
21{
22 "$limit": 3
23},
24{
25 "$project": {
26 "_id": 0,
27 "name": 1,
28 "products.name": 1,
29 "score": { "$meta": "searchScore" },
30 "scoreDetails": { "$meta": "searchScoreDetails" }
31 }
32})
1[
2 {
3 name: 'Plaxo',
4 products: [
5 { name: 'Plaxo Basic' },
6 { name: 'Plaxo Pulse' },
7 { name: 'Plaxo Personal Assistant' }
8 ],
9 score: 1,
10 scoreDetails: {
11 value: 1,
12 description: 'Score based on 1 child docs in range from 27 to 29, best match:',
13 details: [
14 {
15 value: 1,
16 description: '$embedded:8/products/$type:string/products.name:*Basic',
17 details: []
18 }
19 ]
20 }
21 },
22 {
23 name: 'The Game Creators',
24 products: [
25 { name: 'Dark Basic Professional' },
26 { name: 'FPS Creator' },
27 { name: 'FPS Creator X10' }
28 ],
29 score: 1,
30 scoreDetails: {
31 value: 1,
32 description: 'Score based on 1 child docs in range from 7474 to 7476, best match:',
33 details: [
34 {
35 value: 1,
36 description: '$embedded:8/products/$type:string/products.name:*basic',
37 details: []
38 }
39 ]
40 }
41 },
42 {
43 name: 'Load Impact',
44 products: [
45 { name: 'Load Impact LIGHT' },
46 { name: 'Load Impact BASIC' },
47 { name: 'Load Impact PROFESSIONAL' },
48 { name: 'Load Impact ADVANCED' }
49 ],
50 score: 1,
51 scoreDetails: {
52 value: 1,
53 description: 'Score based on 1 child docs in range from 11545 to 11548, best match:',
54 details: [
55 {
56 value: 1,
57 description: '$embedded:8/products/$type:string/products.name:*basic',
58 details: []
59 }
60 ]
61 }
62 }
63]

注意

範囲内の子ドキュメントに基づくスコアの場合、範囲内の数値は、フードの下で Lucene によってインデックス付けされた親ドキュメントと子ドキュメントの ID を表します。 子ドキュメント( 16行、 36行、および57行)のdescriptionは、パスの内部表現を示します。

$searchscoreDetails次の例は、sample_mflix.movies コレクションに対する 関数式のサンプル クエリの結果内のドキュメントに対して オプションを使用してスコアの内訳を取得する方法を示しています。

1db.movies.aggregate([{
2 "$search": {
3 "text": {
4 "path": "title",
5 "query": "men",
6 "score": {
7 "function":{
8 "multiply":[
9 {
10 "path": {
11 "value": "imdb.rating",
12 "undefined": 2
13 }
14 },
15 {
16 "score": "relevance"
17 }
18 ]
19 }
20 }
21 },
22 "scoreDetails": true
23 }
24},
25{
26 $limit: 5
27},
28{
29 $project: {
30 "_id": 0,
31 "title": 1,
32 "score": { "$meta": "searchScore" },
33 "scoreDetails": {"$meta": "searchScoreDetails"}
34 }
35}])
[
{
title: 'Men...',
score: 23.431293487548828,
scoreDetails: {
value: 23.431293487548828,
description: 'FunctionScoreQuery($type:string/title:men, scored by (imdb.rating * scores)) [BM25Similarity], result of:',
details: [
{
value: 23.431293487548828,
description: '(imdb.rating * scores)',
details: []
}
]
}
},
{
title: '12 Angry Men',
score: 22.080968856811523,
scoreDetails: {
value: 22.080968856811523,
description: 'FunctionScoreQuery($type:string/title:men, scored by (imdb.rating * scores)) [BM25Similarity], result of:',
details: [
{
value: 22.080968856811523,
description: '(imdb.rating * scores)',
details: []
}
]
}
},
{
title: 'X-Men',
score: 21.34803581237793,
scoreDetails: {
value: 21.34803581237793,
description: 'FunctionScoreQuery($type:string/title:men, scored by (imdb.rating * scores)) [BM25Similarity], result of:',
details: [
{
value: 21.34803581237793,
description: '(imdb.rating * scores)',
details: []
}
]
}
},
{
title: 'X-Men',
score: 21.34803581237793,
scoreDetails: {
value: 21.34803581237793,
description: 'FunctionScoreQuery($type:string/title:men, scored by (imdb.rating * scores)) [BM25Similarity], result of:',
details: [
{
value: 21.34803581237793,
description: '(imdb.rating * scores)',
details: []
}
]
}
},
{
title: 'Matchstick Men',
score: 21.05954933166504,
scoreDetails: {
value: 21.05954933166504,
description: 'FunctionScoreQuery($type:string/title:men, scored by (imdb.rating * scores)) [BM25Similarity], result of:',
details: [
{
value: 21.05954933166504,
description: '(imdb.rating * scores)',
details: []
}
]
}
}
]
1db.movies.aggregate([
2 {
3 "$search": {
4 "text": {
5 "path": "title",
6 "query": "men",
7 "score": {
8 "function":{
9 "constant": 3
10 }
11 }
12 },
13 "scoreDetails": true
14 }
15 },
16 {
17 $limit: 5
18 },
19 {
20 $project: {
21 "_id": 0,
22 "title": 1,
23 "score": { "$meta": "searchScore" },
24 "scoreDetails": {"$meta": "searchScoreDetails"}
25 }
26 }
27])
[
{
title: 'Men Without Women',
score: 3,
scoreDetails: {
value: 3,
description: 'FunctionScoreQuery($type:string/title:men, scored by constant(3.0)) [BM25Similarity], result of:',
details: [ { value: 3, description: 'constant(3.0)', details: [] } ]
}
},
{
title: 'One Hundred Men and a Girl',
score: 3,
scoreDetails: {
value: 3,
description: 'FunctionScoreQuery($type:string/title:men, scored by constant(3.0)) [BM25Similarity], result of:',
details: [ { value: 3, description: 'constant(3.0)', details: [] } ]
}
},
{
title: 'Of Mice and Men',
score: 3,
scoreDetails: {
value: 3,
description: 'FunctionScoreQuery($type:string/title:men, scored by constant(3.0)) [BM25Similarity], result of:',
details: [ { value: 3, description: 'constant(3.0)', details: [] } ]
}
},
{
title: "All the King's Men",
score: 3,
scoreDetails: {
value: 3,
description: 'FunctionScoreQuery($type:string/title:men, scored by constant(3.0)) [BM25Similarity], result of:',
details: [ { value: 3, description: 'constant(3.0)', details: [] } ]
}
},
{
title: 'The Men',
score: 3,
scoreDetails: {
value: 3,
description: 'FunctionScoreQuery($type:string/title:men, scored by constant(3.0)) [BM25Similarity], result of:',
details: [ { value: 3, description: 'constant(3.0)', details: [] } ]
}
}
]
1db.movies.aggregate([
2 {
3 "$search": {
4 "text": {
5 "path": "title",
6 "query": "shop",
7 "score": {
8 "function":{
9 "gauss": {
10 "path": {
11 "value": "imdb.rating",
12 "undefined": 4.6
13 },
14 "origin": 9.5,
15 "scale": 5,
16 "offset": 0,
17 "decay": 0.5
18 }
19 }
20 }
21 },
22 "scoreDetails": true
23 }
24 },
25 {
26 "$limit": 10
27 },
28 {
29 "$project": {
30 "_id": 0,
31 "title": 1,
32 "score": { "$meta": "searchScore" },
33 "scoreDetails": {"$meta": "searchScoreDetails"}
34 }
35 }
36])
[
{
title: 'The Shop Around the Corner',
score: 0.9471074342727661,
scoreDetails: {
value: 0.9471074342727661,
description: 'FunctionScoreQuery($type:string/title:shop, scored by exp((max(0, |imdb.rating - 9.5| - 0.0)^2) / 2 * (5.0^2 / 2 * ln(0.5)))) [BM25Similarity], result of:',
details: [
{
value: 0.9471074342727661,
description: 'exp((max(0, |imdb.rating - 9.5| - 0.0)^2) / 2 * (5.0^2 / 2 * ln(0.5)))',
details: []
}
]
}
},
{
title: 'Exit Through the Gift Shop',
score: 0.9471074342727661,
scoreDetails: {
value: 0.9471074342727661,
description: 'FunctionScoreQuery($type:string/title:shop, scored by exp((max(0, |imdb.rating - 9.5| - 0.0)^2) / 2 * (5.0^2 / 2 * ln(0.5)))) [BM25Similarity], result of:',
details: [
{
value: 0.9471074342727661,
description: 'exp((max(0, |imdb.rating - 9.5| - 0.0)^2) / 2 * (5.0^2 / 2 * ln(0.5)))',
details: []
}
]
}
},
{
title: 'The Shop on Main Street',
score: 0.9395227432250977,
scoreDetails: {
value: 0.9395227432250977,
description: 'FunctionScoreQuery($type:string/title:shop, scored by exp((max(0, |imdb.rating - 9.5| - 0.0)^2) / 2 * (5.0^2 / 2 * ln(0.5)))) [BM25Similarity], result of:',
details: [
{
value: 0.9395227432250977,
description: 'exp((max(0, |imdb.rating - 9.5| - 0.0)^2) / 2 * (5.0^2 / 2 * ln(0.5)))',
details: []
}
]
}
},
{
title: 'Chop Shop',
score: 0.8849083781242371,
scoreDetails: {
value: 0.8849083781242371,
description: 'FunctionScoreQuery($type:string/title:shop, scored by exp((max(0, |imdb.rating - 9.5| - 0.0)^2) / 2 * (5.0^2 / 2 * ln(0.5)))) [BM25Similarity], result of:',
details: [
{
value: 0.8849083781242371,
description: 'exp((max(0, |imdb.rating - 9.5| - 0.0)^2) / 2 * (5.0^2 / 2 * ln(0.5)))',
details: []
}
]
}
},
{
title: 'Little Shop of Horrors',
score: 0.8290896415710449,
scoreDetails: {
value: 0.8290896415710449,
description: 'FunctionScoreQuery($type:string/title:shop, scored by exp((max(0, |imdb.rating - 9.5| - 0.0)^2) / 2 * (5.0^2 / 2 * ln(0.5)))) [BM25Similarity], result of:',
details: [
{
value: 0.8290896415710449,
description: 'exp((max(0, |imdb.rating - 9.5| - 0.0)^2) / 2 * (5.0^2 / 2 * ln(0.5)))',
details: []
}
]
}
},
{
title: 'The Suicide Shop',
score: 0.7257778644561768,
scoreDetails: {
value: 0.7257778644561768,
description: 'FunctionScoreQuery($type:string/title:shop, scored by exp((max(0, |imdb.rating - 9.5| - 0.0)^2) / 2 * (5.0^2 / 2 * ln(0.5)))) [BM25Similarity], result of:',
details: [
{
value: 0.7257778644561768,
description: 'exp((max(0, |imdb.rating - 9.5| - 0.0)^2) / 2 * (5.0^2 / 2 * ln(0.5)))',
details: []
}
]
}
},
{
title: 'A Woman, a Gun and a Noodle Shop',
score: 0.6559237241744995,
scoreDetails: {
value: 0.6559237241744995,
description: 'FunctionScoreQuery($type:string/title:shop, scored by exp((max(0, |imdb.rating - 9.5| - 0.0)^2) / 2 * (5.0^2 / 2 * ln(0.5)))) [BM25Similarity], result of:',
details: [
{
value: 0.6559237241744995,
description: 'exp((max(0, |imdb.rating - 9.5| - 0.0)^2) / 2 * (5.0^2 / 2 * ln(0.5)))',
details: []
}
]
}
},
{
title: 'Beauty Shop',
score: 0.6274620294570923,
scoreDetails: {
value: 0.6274620294570923,
description: 'FunctionScoreQuery($type:string/title:shop, scored by exp((max(0, |imdb.rating - 9.5| - 0.0)^2) / 2 * (5.0^2 / 2 * ln(0.5)))) [BM25Similarity], result of:',
details: [
{
value: 0.6274620294570923,
description: 'exp((max(0, |imdb.rating - 9.5| - 0.0)^2) / 2 * (5.0^2 / 2 * ln(0.5)))',
details: []
}
]
}
}
]
1db.movies.aggregate([{
2 "$search": {
3 "text": {
4 "path": "title",
5 "query": "men",
6 "score": {
7 "function":{
8 "path": {
9 "value": "imdb.rating",
10 "undefined": 4.6
11 }
12 }
13 }
14 },
15 "scoreDetails": true
16 }
17},
18{
19 $limit: 5
20},
21{
22 $project: {
23 "_id": 0,
24 "title": 1,
25 "score": { "$meta": "searchScore" },
26 "scoreDetails": {"$meta": "searchScoreDetails"}
27 }
28}])
[
{
title: '12 Angry Men',
score: 8.899999618530273,
scoreDetails: {
value: 8.899999618530273,
description: 'FunctionScoreQuery($type:string/title:men, scored by imdb.rating) [BM25Similarity], result of:',
details: [
{
value: 8.899999618530273,
description: 'imdb.rating',
details: []
}
]
}
},
{
title: 'The Men Who Built America',
score: 8.600000381469727,
scoreDetails: {
value: 8.600000381469727,
description: 'FunctionScoreQuery($type:string/title:men, scored by imdb.rating) [BM25Similarity], result of:',
details: [
{
value: 8.600000381469727,
description: 'imdb.rating',
details: []
}
]
}
},
{
title: 'No Country for Old Men',
score: 8.100000381469727,
scoreDetails: {
value: 8.100000381469727,
description: 'FunctionScoreQuery($type:string/title:men, scored by imdb.rating) [BM25Similarity], result of:',
details: [
{
value: 8.100000381469727,
description: 'imdb.rating',
details: []
}
]
}
},
{
title: 'X-Men: Days of Future Past',
score: 8.100000381469727,
scoreDetails: {
value: 8.100000381469727,
description: 'FunctionScoreQuery($type:string/title:men, scored by imdb.rating) [BM25Similarity], result of:',
details: [
{
value: 8.100000381469727,
description: 'imdb.rating',
details: []
}
]
}
},
{
title: 'The Best of Men',
score: 8.100000381469727,
scoreDetails: {
value: 8.100000381469727,
description: 'FunctionScoreQuery($type:string/title:men, scored by imdb.rating) [BM25Similarity], result of:',
details: [
{
value: 8.100000381469727,
description: 'imdb.rating',
details: []
}
]
}
}
]
1db.movies.aggregate([{
2 "$search": {
3 "text": {
4 "path": "title",
5 "query": "men",
6 "score": {
7 "function":{
8 "score": "relevance"
9 }
10 }
11 },
12 "scoreDetails": true
13 }
14},
15{
16 $limit: 5
17},
18{
19 $project: {
20 "_id": 0,
21 "title": 1,
22 "score": { "$meta": "searchScore" },
23 "scoreDetails": {"$meta": "searchScoreDetails"}
24 }
25}])
[
{
title: 'Men...',
score: 3.4457783699035645,
scoreDetails: {
value: 3.4457783699035645,
description: 'FunctionScoreQuery($type:string/title:men, scored by scores) [BM25Similarity], result of:',
details: [
{
value: 3.4457783699035645,
description: 'weight($type:string/title:men in 4705) [BM25Similarity], result of:',
details: [
{
value: 3.4457783699035645,
description: 'score(freq=1.0), computed as boost * idf * tf from:',
details: [
{
value: 5.5606818199157715,
description: 'idf, computed as log(1 + (N - n + 0.5) / (n + 0.5)) from:',
details: [
{
value: 90,
description: 'n, number of documents containing term',
details: []
},
{
value: 23529,
description: 'N, total number of documents with field',
details: []
}
]
},
{
value: 0.6196683645248413,
description: 'tf, computed as freq / (freq + k1 * (1 - b + b * dl / avgdl)) from:',
details: [
{
value: 1,
description: 'freq, occurrences of term within document',
details: []
},
{
value: 1.2000000476837158,
description: 'k1, term saturation parameter',
details: []
},
{
value: 0.75,
description: 'b, length normalization parameter',
details: []
},
{
value: 1,
description: 'dl, length of field',
details: []
},
{
value: 2.868375301361084,
description: 'avgdl, average length of field',
details: []
}
]
}
]
}
]
}
]
}
},
{
title: 'The Men',
score: 2.8848698139190674,
scoreDetails: {
value: 2.8848698139190674,
description: 'FunctionScoreQuery($type:string/title:men, scored by scores) [BM25Similarity], result of:',
details: [
{
value: 2.8848698139190674,
description: 'weight($type:string/title:men in 870) [BM25Similarity], result of:',
details: [
{
value: 2.8848698139190674,
description: 'score(freq=1.0), computed as boost * idf * tf from:',
details: [
{
value: 5.5606818199157715,
description: 'idf, computed as log(1 + (N - n + 0.5) / (n + 0.5)) from:',
details: [
{
value: 90,
description: 'n, number of documents containing term',
details: []
},
{
value: 23529,
description: 'N, total number of documents with field',
details: []
}
]
},
{
value: 0.5187978744506836,
description: 'tf, computed as freq / (freq + k1 * (1 - b + b * dl / avgdl)) from:',
details: [
{
value: 1,
description: 'freq, occurrences of term within document',
details: []
},
{
value: 1.2000000476837158,
description: 'k1, term saturation parameter',
details: []
},
{
value: 0.75,
description: 'b, length normalization parameter',
details: []
},
{
value: 2,
description: 'dl, length of field',
details: []
},
{
value: 2.868375301361084,
description: 'avgdl, average length of field',
details: []
}
]
}
]
}
]
}
]
}
},
{
title: 'Simple Men',
score: 2.8848698139190674,
scoreDetails: {
value: 2.8848698139190674,
description: 'FunctionScoreQuery($type:string/title:men, scored by scores) [BM25Similarity], result of:',
details: [
{
value: 2.8848698139190674,
description: 'weight($type:string/title:men in 6371) [BM25Similarity], result of:',
details: [
{
value: 2.8848698139190674,
description: 'score(freq=1.0), computed as boost * idf * tf from:',
details: [
{
value: 5.5606818199157715,
description: 'idf, computed as log(1 + (N - n + 0.5) / (n + 0.5)) from:',
details: [
{
value: 90,
description: 'n, number of documents containing term',
details: []
},
{
value: 23529,
description: 'N, total number of documents with field',
details: []
}
]
},
{
value: 0.5187978744506836,
description: 'tf, computed as freq / (freq + k1 * (1 - b + b * dl / avgdl)) from:',
details: [
{
value: 1,
description: 'freq, occurrences of term within document',
details: []
},
{
value: 1.2000000476837158,
description: 'k1, term saturation parameter',
details: []
},
{
value: 0.75,
description: 'b, length normalization parameter',
details: []
},
{
value: 2,
description: 'dl, length of field',
details: []
},
{
value: 2.868375301361084,
description: 'avgdl, average length of field',
details: []
}
]
}
]
}
]
}
]
}
},
{
title: 'X-Men',
score: 2.8848698139190674,
scoreDetails: {
value: 2.8848698139190674,
description: 'FunctionScoreQuery($type:string/title:men, scored by scores) [BM25Similarity], result of:',
details: [
{
value: 2.8848698139190674,
description: 'weight($type:string/title:men in 8368) [BM25Similarity], result of:',
details: [
{
value: 2.8848698139190674,
description: 'score(freq=1.0), computed as boost * idf * tf from:',
details: [
{
value: 5.5606818199157715,
description: 'idf, computed as log(1 + (N - n + 0.5) / (n + 0.5)) from:',
details: [
{
value: 90,
description: 'n, number of documents containing term',
details: []
},
{
value: 23529,
description: 'N, total number of documents with field',
details: []
}
]
},
{
value: 0.5187978744506836,
description: 'tf, computed as freq / (freq + k1 * (1 - b + b * dl / avgdl)) from:',
details: [
{
value: 1,
description: 'freq, occurrences of term within document',
details: []
},
{
value: 1.2000000476837158,
description: 'k1, term saturation parameter',
details: []
},
{
value: 0.75,
description: 'b, length normalization parameter',
details: []
},
{
value: 2,
description: 'dl, length of field',
details: []
},
{
value: 2.868375301361084,
description: 'avgdl, average length of field',
details: []
}
]
}
]
}
]
}
]
}
},
{
title: 'Mystery Men',
score: 2.8848698139190674,
scoreDetails: {
value: 2.8848698139190674,
description: 'FunctionScoreQuery($type:string/title:men, scored by scores) [BM25Similarity], result of:',
details: [
{
value: 2.8848698139190674,
description: 'weight($type:string/title:men in 8601) [BM25Similarity], result of:',
details: [
{
value: 2.8848698139190674,
description: 'score(freq=1.0), computed as boost * idf * tf from:',
details: [
{
value: 5.5606818199157715,
description: 'idf, computed as log(1 + (N - n + 0.5) / (n + 0.5)) from:',
details: [
{
value: 90,
description: 'n, number of documents containing term',
details: []
},
{
value: 23529,
description: 'N, total number of documents with field',
details: []
}
]
},
{
value: 0.5187978744506836,
description: 'tf, computed as freq / (freq + k1 * (1 - b + b * dl / avgdl)) from:',
details: [
{
value: 1,
description: 'freq, occurrences of term within document',
details: []
},
{
value: 1.2000000476837158,
description: 'k1, term saturation parameter',
details: []
},
{
value: 0.75,
description: 'b, length normalization parameter',
details: []
},
{
value: 2,
description: 'dl, length of field',
details: []
},
{
value: 2.868375301361084,
description: 'avgdl, average length of field',
details: []
}
]
}
]
}
]
}
]
}
}
]
1db.movies.aggregate([{
2 "$search": {
3 "text": {
4 "path": "title",
5 "query": "men",
6 "score": {
7 "function": {
8 "log": {
9 "path": {
10 "value": "imdb.rating",
11 "undefined": 10
12 }
13 }
14 }
15 }
16 },
17 "scoreDetails": true
18 }
19},
20{
21 $limit: 5
22},
23{
24 $project: {
25 "_id": 0,
26 "title": 1,
27 "score": { "$meta": "searchScore" },
28 "scoreDetails": {"$meta": "searchScoreDetails"}
29 }
30}])
[
{
title: '12 Angry Men',
score: 0.9493899941444397,
scoreDetails: {
value: 0.9493899941444397,
description: 'FunctionScoreQuery($type:string/title:men, scored by log(imdb.rating)) [BM25Similarity], result of:',
details: [
{
value: 0.9493899941444397,
description: 'log(imdb.rating)',
details: []
}
]
}
},
{
title: 'The Men Who Built America',
score: 0.9344984292984009,
scoreDetails: {
value: 0.9344984292984009,
description: 'FunctionScoreQuery($type:string/title:men, scored by log(imdb.rating)) [BM25Similarity], result of:',
details: [
{
value: 0.9344984292984009,
description: 'log(imdb.rating)',
details: []
}
]
}
},
{
title: 'No Country for Old Men',
score: 0.9084849953651428,
scoreDetails: {
value: 0.9084849953651428,
description: 'FunctionScoreQuery($type:string/title:men, scored by log(imdb.rating)) [BM25Similarity], result of:',
details: [
{
value: 0.9084849953651428,
description: 'log(imdb.rating)',
details: []
}
]
}
},
{
title: 'X-Men: Days of Future Past',
score: 0.9084849953651428,
scoreDetails: {
value: 0.9084849953651428,
description: 'FunctionScoreQuery($type:string/title:men, scored by log(imdb.rating)) [BM25Similarity], result of:',
details: [
{
value: 0.9084849953651428,
description: 'log(imdb.rating)',
details: []
}
]
}
},
{
title: 'The Best of Men',
score: 0.9084849953651428,
scoreDetails: {
value: 0.9084849953651428,
description: 'FunctionScoreQuery($type:string/title:men, scored by log(imdb.rating)) [BM25Similarity], result of:',
details: [
{
value: 0.9084849953651428,
description: 'log(imdb.rating)',
details: []
}
]
}
}
]

戻る

スコアのオプション

項目一覧