Program.cs 1.9 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253
  1. using CD67.ModeleMVC.Entity;
  2. using CD67.ModeleMVC.Factory;
  3. using System;
  4. using System.Collections.Generic;
  5. using System.Linq;
  6. using System.Text;
  7. using System.Threading.Tasks;
  8. using CD67.ModeleMVC.Solr;
  9. // Script d'indexation global
  10. // > Utilise la DLL Solr
  11. // Pour réutiliser, remplacer Viking et vikingFactory par les noms qui correspondent au projet
  12. namespace CD67.ModeleMVC.SolrScript
  13. {
  14. class Program
  15. {
  16. static string SolrUrl = "http://t-lunr4:8080/solr/modele-mvc";
  17. /// <summary>
  18. /// Lance l'indexation de tous les objets Vikings
  19. /// </summary>
  20. static void Main(string[] args)
  21. {
  22. // Instancie la base de données
  23. ModeleMVCEntities db = new ModeleMVCEntities();
  24. // Génère un GUID pour versionner les données issues de cette indexation
  25. string version = Guid.NewGuid().ToString();
  26. Console.WriteLine("Version index:" + version);
  27. // Parcourt les vikings de la base et les ajoute à l'index au fur et à mesure
  28. VikingFactory vikingsFactory = new VikingFactory(db);
  29. foreach (var viking in vikingsFactory.getAll())
  30. {
  31. IndexeurSolr.addViking(viking, version, false);
  32. Console.WriteLine("* Indexe: Viking " + viking.Id.ToString());
  33. }
  34. // Supprime les anciennes données en se basant sur le numero de version
  35. Console.WriteLine("Nettoyage anciennes versions...");
  36. SolrTools.SolrEngine.SolrUpdate(SolrUrl, "<delete><query>-version:" + version + "</query></delete>");
  37. // Envoie les requetes de commit et d'optimisation de l'index
  38. Console.WriteLine("Commit et optimisation");
  39. IndexeurSolr.commit();
  40. IndexeurSolr.optimize();
  41. Console.WriteLine("Indexation terminée, presser une touche pour fermer.");
  42. Console.ReadKey();
  43. }
  44. }
  45. }