public void test_with_write_and_delete_document() { var lueceneSearchProvider = new LuceneSearchProvider(); var spaceOne = new SpaceObject { Id = Guid.NewGuid(), SpaceName = "技术空间", FileCount = 1, ParentId = Guid.NewGuid().ToString(), SpaceSize = 1024, CreateTime = DateTime.Now, UpdateTime = DateTime.Now, CreateUserId = "5", CreateUserName = "******", }; Stopwatch stopWatcher = new Stopwatch(); stopWatcher.Start(); lueceneSearchProvider.IndexDirectory = "write_delete_space"; lueceneSearchProvider.Add(spaceOne); var results = lueceneSearchProvider.Query<SpaceObject>("空间"); Assert.IsTrue(results.Count>= 1); lueceneSearchProvider.Delete(spaceOne); results = lueceneSearchProvider.Query<SpaceObject>("空间"); Assert.AreEqual(results.Count, 0); Console.WriteLine(results.Count); }
public void performance_test_with_writeindex() { LuceneSearchProvider _lueceneSearchProvider = new LuceneSearchProvider(); List<SpaceObject> list = new List<SpaceObject>(); for (int i = 0; i < 100000; i++) { var space = new SpaceObject { Id = Guid.NewGuid(), SpaceName = "技术空间", FileCount = 1, ParentId = Guid.NewGuid().ToString(), SpaceSize = 1024, CreateTime = DateTime.Now, UpdateTime = DateTime.Now, CreateUserId = "5", CreateUserName = "******", }; list.Add(space); } Stopwatch stopWatcher = new Stopwatch(); stopWatcher.Start(); _lueceneSearchProvider.AddList(list, true); stopWatcher.Stop(); Console.WriteLine("创建时间为<毫秒>:" + stopWatcher.ElapsedMilliseconds); }
public void should_query_with_special_string() { LuceneSearchProvider lueceneSearchProvider = new LuceneSearchProvider(); var spaceOne = new SpaceObject { Id = Guid.NewGuid(), SpaceName = "技术空间", FileCount = 1, ParentId = Guid.NewGuid().ToString(), SpaceSize = 1024, CreateTime = DateTime.Now, UpdateTime = DateTime.Now, CreateUserId = "5", CreateUserName = "******", }; lueceneSearchProvider.Add(spaceOne); var results = lueceneSearchProvider.Query<SpaceObject>("*****"); Assert.AreEqual(results.Count, 0); results = lueceneSearchProvider.Query<SpaceObject>("#@RF**__++||"); Assert.AreEqual(results.Count, 0); results = lueceneSearchProvider.Query<SpaceObject>(" || __ "); Assert.AreEqual(results.Count, 0); }
public void should_query_with_null_query() { LuceneSearchProvider lueceneSearchProvider = new LuceneSearchProvider(); string query = null; var results = lueceneSearchProvider.Query<SpaceObject>(query); Assert.AreEqual(results.Count, 0); }
/// <summary> /// Provide search with the specified query. /// </summary> /// <param name="options">The search options.</param> /// <returns>The search result.</returns> public virtual GridData Search(SearchOptions options) { var builder = new CatalogQueryBuilder(); var query = builder.BuildQuery(options); var provider = new LuceneSearchProvider(); return new ItemResultDataConverter().Convert(provider.Search(query), options.GridColumns); }
public void should_query_with_empty_string() { LuceneSearchProvider lueceneSearchProvider = new LuceneSearchProvider(); var results = lueceneSearchProvider.Query<SpaceObject>(string.Empty); Assert.AreEqual(results.Count, 0); results = lueceneSearchProvider.Query<SpaceObject>(" "); Assert.AreEqual(results.Count, 0); }
public void test_with_write_index_singleton() { LuceneSearchProvider lueceneSearchProvider = new LuceneSearchProvider(); var spaceOne = new SpaceObject { Id = Guid.NewGuid(), SpaceName = "技术空间", FileCount = 1, ParentId = Guid.NewGuid().ToString(), SpaceSize = 1024, CreateTime = DateTime.Now, UpdateTime = DateTime.Now, CreateUserId = "5", CreateUserName = "******", }; var spaceTwo = new SpaceObject { Id = Guid.NewGuid(), SpaceName = "生存空间", FileCount = 1, ParentId = Guid.NewGuid().ToString(), SpaceSize = 1024, CreateTime = DateTime.Now, UpdateTime = DateTime.Now, CreateUserId = "5", CreateUserName = "******", }; Stopwatch stopWatcher = new Stopwatch(); stopWatcher.Start(); lueceneSearchProvider.IndexDirectory = "tempspace"; lueceneSearchProvider.Add(spaceOne); lueceneSearchProvider.Add(spaceTwo); var results = lueceneSearchProvider.Query<SpaceObject>("空间"); Assert.IsTrue(results.Count>= 2); Console.WriteLine(results.Count); }