示例#1
0
        /// <summary>
        /// Lance l'indexation de tous les objets Vikings
        /// </summary>
        static void Main(string[] args)
        {
            // Instancie la base de données
            ModeleMVCEntities db = new ModeleMVCEntities();

            // Génère un GUID pour versionner les données issues de cette indexation
            string version = Guid.NewGuid().ToString();

            Console.WriteLine("Version index:" + version);

            // Parcourt les vikings de la base et les ajoute à l'index au fur et à mesure
            VikingFactory  vikingsFactory = new VikingFactory(db);
            VikingsIndexer vikingsIndexer = new VikingsIndexer(db);

            vikingsIndexer.Add(vikingsFactory.GetAll().ToList(), version, false);

            // Supprime les anciennes données en se basant sur le numero de version
            Console.WriteLine("Nettoyage anciennes versions...");
            vikingsIndexer.DeleteVersion(version);

            // Envoie les requetes de commit et d'optimisation de l'index
            Console.WriteLine("Commit et optimisation");
            vikingsIndexer.Commit();
            vikingsIndexer.Optimize();

            Console.WriteLine("Indexation terminée, presser une touche pour fermer.");
            Console.ReadKey();
        }
示例#2
0
 /// <summary>
 /// Constructeur avec initialisation du core et du context
 /// </summary>
 /// <param name="SolRUrl">URL du moteur de recherche SolR</param>
 /// <param name="SolRCore">Nom du core SolR</param>
 /// <param name="dbContext">Context entity nécessaire pour les classes dépendantes du context</param>
 public BaseSolRIndex(string SolRUrl, string SolRCore, ModeleMVCEntities dbContext = null)
 {
     this.SolRUrl  = SolRUrl;
     this.SolRCore = SolRCore;
     if (dbContext != null)
     {
         this.dbContext = dbContext;
     }
 }
示例#3
0
 /// <summary>
 /// Constructeur public lié au constructeur de base
 /// </summary>
 /// <param name="dbContext">Context Entity Framework utilisé dans la classe</param>
 public VikingsIndexer(ModeleMVCEntities dbContext) : base(SolrUrl, SolrCore, dbContext)
 {
 }
示例#4
0
 /// <summary>
 /// Constructeur public lié au constructeur de base
 /// </summary>
 /// <param name="dbContext">Context Entity Framework utilisé dans la classe</param>
 /// <param name="AsNoTracking">Supprime la détection de modification pour des factories utilisées pour de la lecture</param>
 /// <param name="EnableMultipleOptimization">Optimise les mises à jour multiples mais n'utilise plus en boucle les ajout/modification/suppression unitaires</param>
 public VikingFactory(ModeleMVCEntities dbContext, bool AsNoTracking = false, bool EnableMultipleOptimization = false) : base(dbContext, AsNoTracking, EnableMultipleOptimization)
 {
 }