namespace Models
{
    /// <summary>
    /// Représente un résultat brut renvoyé par Qdrant (ou tout autre retriever).
    /// </summary>
    public class SearchResult
    {
        /// <summary>
        /// Identifiant optionnel du document dans la collection.
        /// </summary>
        public string Id { get; set; } = string.Empty;

        /// <summary>
        /// Texte extrait (chunk) à utiliser pour le reranking / contexte.
        /// </summary>
        public string Text { get; set; } = string.Empty;

        /// <summary>
        /// Texte extrait (chunk) à utiliser pour le reranking / contexte.
        /// </summary>
        public string Nom_Fichier { get; set; } = string.Empty;

        /// <summary>
        /// Score de similarité initial renvoyé par Qdrant (facultatif).
        /// </summary>
        public float? RawScore { get; set; }

        /// <summary>
        /// Métadonnées éventuelles liées au chunk (page, source, etc.).
        /// </summary>
        public Dictionary<string, object>? Metadata { get; set; }
    }
}
