Todos los productos
Search
Centro de documentos

:gauss_decay

Última actualización: Sep 04, 2026

Funciones de ordenamiento

Las funciones de ordenamiento se pueden usar en expresiones de clasificación. La mayoría de estas funciones solo admiten expresiones de clasificación fina. Combine diversas sintaxis y sentencias para implementar potentes capacidades de ordenamiento.

Document fields used as feature function parameters must be created as indexes or properties as specified in the function's documentation.

gauss_decay: Usa una función gaussiana para calcular la atenuación según la distancia entre un valor y un punto de origen dado

  1. Detalles de uso:

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

  1. Parámetros:

    • origin: Punto de origen de la función de atenuación. El valor debe ser de tipo double.

    • value: Valor que se usa para calcular la atenuación. Debe ser de tipo double y se puede obtener de un campo del documento o de otra expresión.

    • scale: Tasa de atenuación. El valor debe ser de tipo double.

    • decay: Grado de atenuación cuando la distancia desde el origen es igual a la escala. El valor debe ser de tipo double. Este parámetro es opcional. El valor predeterminado es 0.000001.

    • offset: La atenuación se calcula solo cuando la distancia desde el origen supera el desplazamiento. El valor debe ser de tipo double. Este parámetro es opcional. El valor predeterminado es 0.

  2. Valor de retorno:

Devuelve un valor de tipo double en el rango [0, 1].

  1. Escenarios:

Escenario 1:

Encuentre los hoteles más cercanos a un usuario, ordenados por distancia del más cercano al más lejano. Los hoteles dentro de 100 m se consideran igualmente cercanos. En este escenario, longitude_in_doc y latitude_in_doc son la longitud y latitud del hotel, mientras que longitude_in_query y latitude_in_query corresponden a la longitud y latitud del usuario.

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

Escenario 2:

Encuentre celulares con un precio cercano a 300 USD. La puntuación del documento es 0 si el precio es menor que 200 o mayor que 400. El precio del celular en el documento es price, y kvpairs=price_key:2000. La fórmula es la siguiente:

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

  1. Notas:

    • Los parámetros de la función deben crearse como propiedades.

    • Si scale es menor o igual a 0, la función devuelve 0.

    • Si decay es mayor o igual a 1, la función devuelve 1.

    • Si decay es menor o igual a 0, su valor se establece en 0.000001.

    • Si offset es menor que 0, su valor se establece en 0.