public string GetAI(string args)
 {
     LuceneEngine.LuceneDbEngine ldbe = new LuceneEngine.LuceneDbEngine();
     List<DB.DAL.Article> lista = null;
     List<int> ids = ldbe.AiComplete(args);
     args = GetIds(ids);
     using (DBBL Baza = new DBBL())
     {
         lista = Baza.GetAI(args);
     }
     return Newtonsoft.Json.JsonConvert.SerializeObject(lista);
 }
        public ActionResult AddWiki(string Naslov, string Content, string jsonTag, string jsonKat)
        {
            Article a = new Article();
            a.Name = Server.HtmlDecode(Naslov).Replace("'", "&#39;").Trim();
            a.Content = Server.HtmlDecode(Content).Replace("'", "&#39;").Trim();
            a.CreatorIP = this.HttpContext.Request.GetIpAdresa();
            a.CreatorUserAgent = this.HttpContext.Request.UserAgent;
            a.DatePublish = DateTime.Now;
            a.GUID = Guid.NewGuid();
            a.IsActive = true;
            a.Views = 0;
            a.IsPublish = true;
            a.UserID = Autorizacija.Autorizacija.GetCurrentUser(this.HttpContext).UserID;

            var ListaTagova = Newtonsoft.Json.JsonConvert.DeserializeObject<List<Models.Json.Tag>>(jsonTag);
            var ListaKategorija = Newtonsoft.Json.JsonConvert.DeserializeObject<List<Models.Json.Kategorija>>(jsonKat);

            List<Igman.DB.DAL.Tag> listTempTag = SinhronyzeWithDB(ListaTagova.Where(x => x.TagID == "-1").ToList(), ListaTagova.Where(x => x.TagID != "-1").ToList());
            List<Category> listaKategorija = SinhronyzeWithDB(ListaKategorija);

            a.Categories = listaKategorija;
            a.Tags = listTempTag;

            using (DBBL Baza = new DBBL())
            {
                a = Baza.AddWiki(a);
            }

            #region Lucine
            LuceneEngine.LuceneDbEngine ldbe = new LuceneEngine.LuceneDbEngine();
            ldbe.InsertWiki(a);
            #endregion

            TempData["wikiSuccess"] = true;
            return RedirectToAction("index", "Articles");
        }
        public ActionResult Search(string args, int? strana)
        {
            CheckUser();
            Stopwatch st = new Stopwatch();
            st.Start();
            if (string.IsNullOrEmpty(args) || string.IsNullOrWhiteSpace(args))
            {
                return View();
            }
            if (args.Count() > 35)
            {
                TempData["err"] = "Maximalan upit do 35 karaktera";
                return View();
            }
            if (!strana.HasValue)
                strana = 1;
            args = Formatiraj(args);

            LuceneEngine.LuceneDbEngine ldbe = new LuceneEngine.LuceneDbEngine();

            List<Rezultat> ids = ldbe.GetArticleIDByArg(args, false);

            string idsParams = GetIds(ids);
            string scores = GetScore(ids);
            List<DB.DalHelpClass.ArticleSerch.ArticleSerchModel> listaNadjenih;
            using (DBBL Baza = new DBBL())
            {
                listaNadjenih = Baza.PretragaWiki(idsParams, scores, strana.Value);

                st.Stop();
                if (listaNadjenih.Count > 0)
                {
                    TempData["stat"] = st.ElapsedMilliseconds / (double)1000;
                    TempData["lp"] = listaNadjenih;
                    TempData["args"] = args;
                }
                else
                {
                    List<Igman.DB.DAL.Tag> mislilac = Baza.GetDaliSteMilili(args);
                    TempData["mislilac"] = mislilac;

                }
            }
            return View();
        }