これはサンプルドキュメントです -
{
"id": "AIRPORT-LAS",
"RANK": 80.0,
"TYPE": "AIRPORT",
"COUNTRY_NAME": "United States",
"COUNTRY_CODE": "US",
"ISO_COUNTRY_CODE": "US",
"LATITUDE": "36.08047103880001",
"LONGITUDE": "-115.14331054699983",
"LATLON": [
"36.08047103880001,-115.14331054699983"
],
"CITY_CODE": "LAS",
"CITY_NAME": "Las Vegas",
"PROVINCE_CODE": "NV",
"PROVINCE_NAME": "NEVADA",
"AIRPORT_NAME": "McCarran Intl Airport",
"AIRPORT_CODE": "LAS"
}
顧客が検索している場所 (地理的位置) に基づいて、上記の各ドキュメントの州と国の組み合わせを使用して複数の RANK を取得します。
例:
For AIRPORT-LAS, I'll have the following -
USA - CA - 100
USA - NJ - 80
USA - NY - 75
.... rest of combinations
私は次のことを理解しようとしています -
この新しいランクのセットを既存のドキュメントにインデックス付けする最善の方法は何でしょうか?別のコレクションとして?それともネストされたデータセットとして?
検索時に新しいランクのセットを使用して結果を向上させるにはどうすればよいですか? [基本的に、ユーザーが米国からカリフォルニアを検索している場合、検索結果を高めるために RANK=100 を使用する必要があります。検索時に州と国がわかります。]
ありがとうございます!
今、どこから元気をもらっていますか?インデックスを作成する必要があるかどうかはわかりません。クエリを作成するときに国と州がわかっているので、ブーストを調べて、bq または boost? の両方に一致するドキュメントのブーストを追加します。
– マッツリンド
2020 年 9 月 3 日 20:00
サンプルドキュメントを見ると、RANK フィールドがあります。これは、関連性の照合に使用されるフィールドです。
– ジャガモット
2020 年 9 月 4 日 2:31
------------------------
ドキュメントの数値をスコアに直接統合する場合は、クエリ時にブースト関数を使用します。ここで複数のドキュメント値を使用することもできますが、適切なブースト係数を選択するように注意してください。
bf=mul(RANK, 2)