Amazon での式の設定 CloudSearch - Amazon CloudSearch

翻訳は機械翻訳により提供されています。提供された翻訳内容と英語版の間で齟齬、不一致または矛盾がある場合、英語版が優先します。

Amazon での式の設定 CloudSearch

数値式を定義し、検索結果のソートに使用できます。式は検索結果内に返すこともできます。ドメイン設定に式を追加したり、検索リクエストで式を定義したりできます。

Amazon の式を記述する CloudSearch

Amazon CloudSearch 式には、以下を含めることができます。

  • 1 つの値が含まれるソート可能な数値フィールド (intdoubledate)。(特定のフィールドを指定する必要があります。ワイルドカードはサポートされていません。)

  • その他の式

  • ドキュメントの関連性スコアを参照する _score 変数

  • 現在のエポック時間を参照する _time 変数

  • ランダムに生成された値を返す _rand 変数

  • 整数、浮動小数点、16 進数、8 進数のリテラル

  • 算術演算子: + - * / %

  • ビット演算子: | & ^ ~ << >> >>>

  • ブール演算子 (三項演算子を含む): && || ! ?:

  • 比較演算子: < <= == >= >

  • 数学関数: abs ceil exp floor ln log10 logn max min pow sqrt

  • 三角関数: acos acosh asin asinh atan atan2 atanh cos cosh sin sinh tanh tan

  • haversin 距離関数

演算子には JavaScript 優先順位ルールが適用されます。演算子の優先順位は括弧を使用することで変更できます。

論理式の評価にはショートカット評価が使用されます式の値が最初の引数の評価後に決定できる場合、2 番目の引数は評価されません。例えば、式 a || bb が評価されるのは、a が true でない場合のみです。

式は常に、0 から符号付き 64 ビット整数最大値 (2^63 - 1) までの整数値を返します。中間結果は倍精度浮動小数点値として計算され、戻り値は最も近い整数に丸められます。式は、無効であるか負の値に評価された場合は、0 を返します。式は、最大値よりも大きい値に評価された場合は、最大値を返します。

式名は、3 文字以上、64 文字以内で、先頭は英字にする必要があります。a~z (小文字)、0~9、_ (下線) の文字を使用できます。score という名前は予約済みのため、式名として使用できません。

例えば、ドメインに popularity という int フィールドを定義した場合、そのフィールドとデフォルトの関連性 _score を組み合わせてカスタム式を作成できます。

(0.3*popularity)+(0.7*_score)

この簡単な例では、使用頻度ランクと関連性 _score の値がほぼ同じ範囲内にあることを想定しています。結果をランク付ける式をチューニングするには、式の構成要素に付ける重みをテストして、必要な結果が得られる重みを決定する必要があります。

Amazon CloudSearch Expressions での日付フィールドの使用

date フィールドの値は、ミリ秒単位でエポック時刻として保存されます。つまり、ドキュメントに保存された日付と現在のエポック時刻 (_time) を使用した式を構築するために算術演算子と比較演算子を使用できるということです。例えば、以下の式を使用して movies ドメインの検索結果をソートすると、リリース日が最近の映画がリストの先頭に来ます。

_score/(_time - release_date)