Todos los productos
Search
Centro de documentos

OpenSearch:Create a custom sorting model

Última actualización: Sep 05, 2026

Los modelos de clasificación personalizados le permiten entrenar modelos de ranking de aprendizaje automático con sus propios datos de negocio, como clics de búsqueda, conversiones de compra o calificaciones. De este modo, OpenSearch devuelve resultados ordenados según lo que realmente importa a sus usuarios, y no solo por relevancia de palabras clave. Por ejemplo, un sitio de comercio electrónico puede mostrar primero los artículos más vendidos, mientras que una plataforma de medios puede promover el contenido mejor calificado para cada consulta.

Cada instancia admite hasta tres modelos de clasificación personalizados.

Cómo funciona

La creación de un modelo de clasificación personalizado consta de cuatro etapas secuenciales:

  1. Crear una descripción de características: defina las señales (características) que el modelo utilizará para clasificar los documentos.

  2. Crear una descripción del modelo: escriba el script de Python que define la estructura del modelo y la lógica de entrenamiento.

  3. Crear y entrenar un modelo de clasificación: combine la descripción de características con la descripción del modelo y, a continuación, inicie el entrenamiento.

  4. Crear una política de clasificación basada en Cava: integre el modelo entrenado en una política de clasificación para que influya en los resultados de búsqueda en tiempo real.

Todas las etapas se realizan en la consola de OpenSearch Industry Algorithm Edition, en Search Algorithm Center > Sort Configuration.

Requisitos previos

Antes de empezar, asegúrese de contar con lo siguiente:

Crear una descripción de características

Una descripción de características define las señales de entrada a partir de las cuales aprende el modelo, tales como atributos del documento (precio, calificación) o puntuaciones de relevancia entre consulta y documento (BM25).

  1. Inicie sesión en la consola de OpenSearch Industry Algorithm Edition. En el panel de navegación izquierdo, seleccione Search Algorithm Center > Sort Configuration. En el panel izquierdo, haga clic en Customize Sorting Model. En la pestaña Feature Description, haga clic en Create.

  2. Introduzca un nombre para la descripción de características y agregue las características que debe usar el modelo. Para cada característica, especifique su nombre, seleccione un tipo de característica y elija la característica correspondiente.

Para obtener detalles sobre los tipos de características disponibles, consulte Feature configuration attributes for custom sorting models . Para obtener orientación sobre cómo seleccionar características específicas, consulte Basic built-in features .

Crear una descripción del modelo

Una descripción del modelo contiene el script de Python que define la arquitectura del modelo y la lógica de entrenamiento.

  1. En el panel izquierdo de Sort Configuration, haga clic en Customize Sorting Model. En la pestaña Model Description, haga clic en Create.

  2. Introduzca un nombre para la descripción del modelo, escriba su script de Python en el editor y haga clic en Submit.

Para consultar código de ejemplo y directrices de desarrollo, véase Developer guide for custom sorting models.

Crear y entrenar un modelo de clasificación

  1. En la consola de OpenSearch Industry Algorithm Edition, dentro del panel de navegación izquierdo, seleccione Search Algorithm Center > Sort Configuration > Customize Sorting Model. Haga clic en la pestaña Sorting Model y, a continuación, haga clic en Create.

  2. Complete los siguientes parámetros:

    • Target Application: Seleccione la aplicación destino.

    • Model Name: Introduzca un nombre para el modelo (de 1 a 30 caracteres).

    • Model Type: Seleccione Custom Sorting Model.

    • Scheduled Training: Habilite o deshabilite esta opción según sea necesario.

    • Feature Description: Seleccione la descripción de características que creó previamente.

    • Model Description: Seleccione la descripción del modelo que creó previamente.

    Cuando termine, haga clic en Submit.

  3. En la pestaña Sorting Model, localice el modelo y haga clic en Train en la columna Actions.

  4. Una vez iniciado el entrenamiento, abra la página de detalles del modelo para supervisar el progreso.

  5. Cuando finalice el entrenamiento, compruebe el estado del modelo:

    • Available: el modelo está listo para usarse. Continúe con Crear una política de clasificación basada en Cava.

    • Unavailable: el modelo no alcanzó el umbral de calidad de datos requerido. Abra la página de detalles del modelo y revise las condiciones listadas en la sección Data Verification. Ajuste el modelo para cumplir dichas condiciones y vuelva a entrenarlo al día siguiente.

Si el modelo permanece no disponible después de realizar ajustes, envíe un ticket para ponerse en contacto con el soporte técnico.

Crear una política de clasificación basada en Cava

Los modelos de clasificación personalizados solo pueden utilizarse en complementos basados en Cava. Este paso crea una política de clasificación que carga e invoca el modelo entrenado durante la ejecución de consultas.

  1. En el panel de navegación izquierdo, seleccione Search Algorithm Center > Sort Configuration. En el panel izquierdo, haga clic en Policy Management y, a continuación, haga clic en Create.

  2. Introduzca un nombre para la política. En la lista desplegable Scope, seleccione Fine Sort. En la lista desplegable Type, seleccione Cava Script. Haga clic en Next.

  3. Haga clic en Add Script File y pegue su script de Cava en el editor. Haga clic en Compile. Si la compilación es exitosa, haga clic en Save y luego en Publish.

El siguiente script de ejemplo muestra cómo cargar e invocar un modelo de clasificación personalizado. Reemplace "Name of your custom sorting model" con el nombre real del modelo que entrenó.

package users.scorer;
import com.aliyun.opensearch.cava.framework.OpsScoreParams;
import com.aliyun.opensearch.cava.framework.OpsScorerInitParams;
import com.aliyun.opensearch.cava.framework.OpsDoc;
import com.aliyun.opensearch.cava.features.algo.AlgoModel;

class BasicSimilarityScorer {
    // You can define member variables.
    boolean init(OpsScorerInitParams params) {
        // Initialize variables related to a search request.
        return true;
    }
    double score(OpsScoreParams params) {
        OpsDoc doc = params.getDoc();
        double score = 10;
        // Assign the score result to the score parameter.
        doc.trace("double value:", score);
        return score;
    }
};

class IntelligenceAlgorithmScorer {
    AlgoModel _algoModel;

    boolean init(OpsScorerInitParams params) {
        // tf_checkpoint is a fixed parameter name — do not change it.
        _algoModel = AlgoModel.create(params, "tf_checkpoint", "rank", "Name of your custom sorting model");
        return true;
    }

    double score(OpsScoreParams params) {
        OpsDoc doc = params.getDoc();
        double modelScore = _algoModel.evaluate(params);
        doc.trace("rankModelScore: ", modelScore);

        double score = modelScore + 700;
        return score;
    }
};

Ejecutar una prueba de búsqueda

Después de publicar la política de clasificación, compruebe que el modelo afecta los resultados de búsqueda como se espera.

  1. En el panel de navegación izquierdo, seleccione Feature Extensions > Search Test.

  2. En la página Search Test, especifique los siguientes parámetros obligatorios:

    Parámetro

    Descripción

    query

    La cadena de consulta de búsqueda

    second_rank_type

    El tipo de la etapa de clasificación secundaria

    second_rank_name

    El nombre de la política de clasificación que publicó

    raw_query

    Una consulta de búsqueda única e independiente que devuelve resultados. También es obligatoria en las condiciones de actualización del modelo; consulte Demo code for implementing the search feature

  3. Por ejemplo, para comprobar que el script de clasificación fina está activo, introduzca los siguientes valores:

    • En la barra de consulta, establezca la cláusula query en default:'黑白' y la cláusula config en start:0,hit:10,format:fulljson,trace:debug.

    • En el área de parámetros, establezca second_rank_name en xc, second_rank_type en cava_script y nv_query en 黑白.

    Después de enviar la búsqueda, revise la información de clasificación en la respuesta. Si la sección SecondRank muestra rankModeScore:0.5, significa que el script de clasificación fina ha surtido efecto.

Notas de uso

  • El entrenamiento de un modelo de clasificación personalizado genera cargos adicionales. Para más detalles, consulte Billing overview.

  • Para consultar operaciones de API y SDK relacionados, véase Algorithms.

Pasos siguientes