Modèle de données de segment manuel et comportement de synchronisation

  • Rversion finale: Australia
  • Mis à jour 16 avr. 2026
  • 4 minutes de lecture
  • Les segments manuels utilisent un modèle de données à deux tables avec synchronisation automatique entre la table de configuration et la table d’exécution utilisée pour les opérations de recherche.

    Vue d’ensemble du modèle de données

    Les segments manuels utilisent une architecture à deux tables qui sépare la configuration des données d’exécution. Cette conception garantit que la table de configuration reste la source unique de vérité tandis que la table d’exécution est optimisée pour les performances de recherche.

    Table de configuration : sn_query_gen_segment_table_config
    C’est ici que vous définissez des segments manuels. Chaque enregistrement représente une configuration de segment que les administrateurs créent et gèrent.
    Table synchronisée : sn_query_gen_segment
    Vous n’écrivez pas directement à cette table. Lorsqu’une configuration de segment manuelle est créée ou mise à jour, une règle métier la synchronise automatiquement dans cette table, qui est interrogée au moment de la recherche.

    Champs de la table de configurations

    La table sn_query_gen_segment_table_configuration contient les champs suivants pour définir des segments manuels :

    Tableau 1. Champs de table de configuration de segment manuel
    Champ Nom de colonne Longueur max. Obligatoire Objectif
    Nom de la table table_name Oui La table (entité) à laquelle le segment s’applique. Doit avoir une entité active dans la couche sémantique.
    Nom name 255 caractères Oui Nom convivial auquel le LLM correspond pendant la recherche sémantique.
    Description description 4 000 caractères Non Clarification facultative utilisant des termes couramment utilisés. Aide le LLM à comprendre quand appliquer le segment.
    Filtre filter 4 000 caractères Oui Requête codée définissant les conditions de filtre du segment. Utilise le générateur de conditions (v2).
    Actives active Non La valeur par défaut est true. Si la propriété est définie sur false, le segment est désactivé et exclu de la recherche.

    Champs de table synchronisée

    La table sn_query_gen_segment contient les données d’exécution utilisées pour les opérations de recherche :

    Tableau 2. Champs des tables de segments synchronisés
    Champ Source
    name Copié à partir de la configuration manuelle de segment
    description Copié à partir de la configuration manuelle de segment
    filter Copié à partir de la configuration manuelle de segment
    table De table_name
    entity Référence résolue à sn_query_gen_entity
    source_table Toujours sn_query_gen_segment_table_config
    source_id Sys_id de l’enregistrement de configuration de segment manuel
    active manual_segment.active ET entité.active

    Comportement de synchronisation

    Les segments manuels sont synchronisés automatiquement entre les tables de configuration et d’exécution. Vous n’avez pas besoin de déclencher la synchronisation manuellement.

    Tableau 3. Synchroniser les déclencheurs
    Déclencheur Quand Que se passe-t-il ?
    Règle métier sur la configuration Insérer ou mettre à jour sur sn_query_gen_segment_table_config Synchronise l’enregistrement individuel dans sn_query_gen_segment (asynchrone)
    Insérer/mettre à jour l’entité Lorsqu’une entité est créée ou mise à jour avec active=true Resynchronise tous les segments (y compris les segments manuels) pour cette entité
    Tâche planifiée hebdomadaire Les samedis à minuit Synchronisation complète des 6 sources de segments ; Nettoyage des enregistrements orphelins

    Pendant la synchronisation, un segment manuel est éligible si :

    1. active = true sur l’enregistrement de configuration
    2. La table référencée a une entité active dans sn_query_gen_entity

    Si l’une ou l’autre des conditions n’est pas remplie, le segment synchronisé est désactivé (et non supprimé).

    Activation et désactivation

    L’état actif d’un segment synchronisé est : manual_segment.actif ET entité.active.

    Tableau 4. Événements d’activation et de désactivation
    Événement Résultat
    La configuration active manuelle des segments → faux Segment synchronisé désactivé
    Configuration manuelle des segments activevrai Segment synchronisé réactivé (si l’entité est également active)
    Entité active→ faux Tous les segments de cette entité désactivés
    Configuration de segment manuelle supprimée Segment synchronisé supprimé
    Entité supprimée Segments orphelins nettoyés par tâche planifiée

    Les segments désactivés sont exclus des résultats de recherche.

    Protections ACL

    La table de segments synchronisés dispose d’ACL strictes afin que la table de configuration reste la source unique de vérité :

    • Créer : Bloqué (admin_overrides = false) : les segments ne peuvent être créés que par synchronisation
    • Écrire sur name: Bloqué : doit être modifié sur l’enregistrement de configuration
    • Écrire sur description: Bloqué : doit être modifié sur l’enregistrement de configuration

    Considérations relatives à la longueur du filtre

    Alors que le filter champ prend en charge jusqu’à 4 000 caractères, la propriété sn_query_gen.segments.max_filter_length système est de 2 000 par défaut. Les filtres dépassant ce seuil sont tronqués lorsqu’ils sont inclus dans l’invite LLM.

    Conseil :
    Gardez les filtres concis pour de meilleurs résultats. Envisagez de fractionner des segments complexes en plusieurs segments ciblés au lieu de créer un segment avec plusieurs conditions.

    Séparation de domaine

    Les segments manuels prennent en charge Séparation de domaine. Lors de la création d’un enregistrement de configuration de segment avec un enregistrement de configuration de segment spécifique sys_domain, le segment synchronisé hérite de ce domaine. Au moment de la recherche, les segments sont filtrés par le contexte de domaine de l’utilisateur.

    Si Séparation de domaine n’est pas activée sur votre instance, ce champ est inactif et peut être ignoré.