// Copyright (c) Microsoft. All rights reserved. using System; using System.Collections.Generic; using Microsoft.Extensions.VectorData; using MongoDB.Bson.Serialization.Attributes; namespace SemanticKernel.Connectors.MongoDB.UnitTests; public class MongoHotelModel(string hotelId) { /// The key of the record. [VectorStoreKey] public string HotelId { get; init; } = hotelId; /// A string metadata field. [VectorStoreData(IsIndexed = true)] public string? HotelName { get; set; } /// An int metadata field. [VectorStoreData] public int HotelCode { get; set; } /// A float metadata field. [VectorStoreData] public float? HotelRating { get; set; } /// A bool metadata field. [BsonElement("parking_is_included")] [VectorStoreData] public bool ParkingIncluded { get; set; } /// An array metadata field. [VectorStoreData] public List Tags { get; set; } = []; /// A data field. [VectorStoreData] public string? Description { get; set; } /// A vector field. [VectorStoreVector(Dimensions: 4, DistanceFunction = DistanceFunction.CosineSimilarity)] public ReadOnlyMemory? DescriptionEmbedding { get; set; } }