Tous les produits
Search
Centre de documentation

:gauss_decay

Dernière mise à jour :Aug 20, 2026

Fonctions de caractéristiques

Les fonctions de caractéristiques peuvent être utilisées dans les expressions de tri. La plupart de ces fonctions ne sont prises en charge que par les expressions de tri fin. Vous pouvez combiner diverses syntaxes et instructions pour mettre en œuvre des fonctionnalités de tri puissantes.

Les champs de document utilisés comme paramètres de fonction de caractéristique doivent être créés en tant qu'index ou propriétés, conformément aux spécifications indiquées dans la documentation de la fonction.

gauss_decay : utilise une fonction gaussienne pour calculer l'atténuation en fonction de la distance entre une valeur et un point d'origine donné

1. Détails d'utilisation :

gauss_decay(origin, value, scale, decay, offset)

2. Paramètres :

  • origin : le point d'origine de la fonction d'atténuation. La valeur doit être de type double.

  • value : la valeur utilisée pour calculer l'atténuation. La valeur doit être de type double et peut provenir d'un champ de document ou d'une autre expression.

  • scale : le taux d'atténuation. La valeur doit être de type double.

  • decay : le degré d'atténuation lorsque la distance par rapport à l'origine est égale à l'échelle (scale). La valeur doit être de type double. Ce paramètre est facultatif. La valeur par défaut est 0,000001.

  • offset : l'atténuation n'est calculée que si la distance par rapport à l'origine est supérieure au décalage (offset). La valeur doit être de type double. Ce paramètre est facultatif. La valeur par défaut est 0.

3. Valeur de retour :

Renvoie une valeur de type double comprise dans l'intervalle [0, 1].

4. Scénarios :

Scénario 1 :

Trouvez les hôtels les plus proches d'un utilisateur, triés par distance du plus proche au plus éloigné. Les hôtels situés à moins de 100 m sont considérés comme également proches. Dans ce scénario, longitude_in_doc et latitude_in_doc représentent la longitude et la latitude de l'hôtel, tandis que longitude_in_query et latitude_in_query correspondent à la longitude et à la latitude de l'utilisateur.

gauss_decay(0, distance(longitude_in_doc, latitude_in_doc, longtitude_in_query, latitude_in_query), 5, 0.000001, 0.1)

Scénario 2 :

Recherchez des téléphones mobiles dont le prix est d'environ 300 USD. Le score du document est de 0 si le prix est inférieur à 200 ou supérieur à 400. Le prix du téléphone dans le document est price, et kvpairs=price_key:2000. La formule est la suivante :

 gauss_decay(kvpairs_value(price_key, FLOAT), price, 500)

5. Notes :

  • Les paramètres de la fonction doivent être créés en tant que propriétés.

  • Si scale est inférieur ou égal à 0, la fonction renvoie 0.

  • Si decay est supérieur ou égal à 1, la fonction renvoie 1.

  • Si decay est inférieur ou égal à 0, sa valeur est définie sur 0,000001.

  • Si offset est inférieur à 0, sa valeur est définie sur 0.