예제 #1
0
        public virtual ActionResult DeleteTag(string[] paths, string tag)
        {
            if (tag != "")
            {
                while (true)
                {
                    try
                    {
                        var analyzer = new StandardAnalyzer(Lucene.Net.Util.Version.LUCENE_30);
                        using (var writer = new IndexWriter(IndexCRUD._directory, analyzer, IndexWriter.MaxFieldLength.UNLIMITED))
                        {
                            foreach (var path in paths)
                            {
                                var query = IndexCRUD.SearchNotAnalyzed(path, "FullPath").FirstOrDefault();
                                if (query.tag != null)
                                {
                                    var model = new IndexModel();
                                    model.name              = query.name;
                                    model.md5               = query.md5;
                                    model.size              = query.size;
                                    model.userid            = query.userid;
                                    model.laccess_time      = query.laccess_time;
                                    model.display_directory = query.display_directory;
                                    model.directory         = query.directory;
                                    model.create_time       = query.create_time;
                                    model.content           = query.content;
                                    model.lmodified_time    = query.lmodified_time;
                                    model.fullpath          = query.fullpath;
                                    model.extension         = query.extension;

                                    string updatedtag = query.tag.Replace(String.Format(" <> {0}", tag), "");
                                    model.tag = updatedtag;



                                    var record = IndexCRUD.IndexModelToDoc(model);

                                    writer.UpdateDocument(new Term("FullPath", path), record);
                                }
                            }

                            analyzer.Close();
                            writer.Dispose();
                            break;
                        }
                    }
                    catch (LockObtainFailedException)

                    {
                    }
                }
            }

            return(new EmptyResult());
        }
예제 #2
0
        public virtual PartialViewResult _PartialContent(string fullpath)
        {
            var result = IndexCRUD.SearchNotAnalyzed(fullpath, "FullPath").FirstOrDefault();

            var model = new IndexContentViewModel();

            model.content = result.content;
            model.name    = result.name;

            return(PartialView(model));
        }