Ejemplo n.º 1
0
        public void PurgeAll()
        {
            using (ISession s = OpenSession())
            {
                SearchFactoryImpl  searchFactory = SearchFactoryImpl.GetSearchFactory(cfg);
                System.Type        targetType    = typeof(Document);
                IDirectoryProvider provider      = searchFactory.GetDirectoryProviders(targetType)[0];
                Workspace          workspace     = new Workspace(searchFactory);

                using (ITransaction tx = s.BeginTransaction())
                {
                    Document doc = new Document("Hibernate in Action", "Object and Relational", "blah blah blah");
                    searchFactory.PerformWork(doc, 1, s, WorkType.Add);
                    doc = new Document("Object and Relational", "Hibernate in Action", "blah blah blah");
                    searchFactory.PerformWork(doc, 2, s, WorkType.Add);
                    tx.Commit();
                }
                Assert.AreEqual(2, workspace.GetIndexReader(provider, targetType).NumDocs, "Documents created");

                using (ITransaction tx = s.BeginTransaction())
                {
                    LuceneWorker luceneWorker = new LuceneWorker(workspace);
                    luceneWorker.PerformWork(new PurgeAllLuceneWork(targetType), provider);
                }
                Assert.AreEqual(0, workspace.GetIndexReader(provider, targetType).NumDocs, "Document purgation");
            }
        }
Ejemplo n.º 2
0
        public void Initialize(Configuration cfg)
        {
            searchFactory = SearchFactoryImpl.GetSearchFactory(cfg);
            string indexingStrategy = cfg.GetProperty(Environment.IndexingStrategy) ?? "event";

            if ("event".Equals(indexingStrategy))
            {
                used = searchFactory.DocumentBuilders.Count != 0;
            }
            else if ("manual".Equals(indexingStrategy))
            {
                used = false;
            }
            else
            {
                throw new SearchException(Environment.IndexBase + " unknown: " + indexingStrategy);
            }
        }
Ejemplo n.º 3
0
            public void Optimize()
            {
                var searchFactory = SearchFactoryImpl.GetSearchFactory(thisRepo.context.CurrentConfiguration);

                searchFactory.Optimize(typeof(T));
            }