public LuceneDataProvider Build(string sessionAlias, Type modelType) { string key = modelType.FullName + sessionAlias; LuceneDataProvider luceneDataProvider = cache.GetOrAdd(key, newKey => decorated.Build(sessionAlias, modelType)); return(luceneDataProvider); }
public static void Main() { var directory = new RAMDirectory(); var writer = new IndexWriter(directory, new StandardAnalyzer(Version.LUCENE_29), IndexWriter.MaxFieldLength.UNLIMITED); var provider = new LuceneDataProvider(directory, writer.Analyzer, Version.LUCENE_29, writer); // add some documents using (var session = provider.OpenSession <Article>()) { session.Add(new Article { Author = "John Doe", BodyText = "some body text", PublishDate = DateTimeOffset.UtcNow }); } var articles = provider.AsQueryable <Article>(); var threshold = DateTimeOffset.UtcNow.Subtract(TimeSpan.FromDays(30)); var articlesByJohn = from a in articles where a.Author == "John Smith" && a.PublishDate > threshold orderby a.Title select a; var searchResults = from a in articles where a.SearchText == "some search query" select a; }
public Indexer(DataStore dataStore) { _dataStore = dataStore; _provider = new LuceneDataProvider(new RAMDirectory(), Version.LUCENE_30); _dataStore.OnDispose += this.Dispose; Factory = Activator.CreateInstance; dataStore.CollectionChanged += (sender, args) => { switch (args.Action) { case NotifyCollectionChangedAction.Add: AddDocumentToIndex(args.NewItems.Cast <object>().Single()); break; case NotifyCollectionChangedAction.Remove: RemoveDocumentFromIndex(args.OldItems.Cast <object>().Single()); break; case NotifyCollectionChangedAction.Reset: DeleteIndexFilesAndClearIndex(this, args); Reinitialise(this, args); break; default: throw new NotImplementedException(args.ToString() + " not expected"); } }; }
public ISessionProvider <LuceneSession <TModel> > Build(string sessionAlias) { LuceneDataProvider luceneDataProvider = luceneDataProviderFactory.Build(sessionAlias, typeof(TModel)); LuceneSessionProvider <TModel> sessionProvider = new LuceneSessionProvider <TModel>(sessionAlias, luceneDataProvider, luceneMap); return(sessionProvider); }
public static void Main() { var directory = new RAMDirectory(); var provider = new LuceneDataProvider(directory, Version.LUCENE_30); // add some documents using (var session = provider.OpenSession <Article>()) { session.Add(new Article { Author = "John Doe", BodyText = "some body text", PublishDate = DateTimeOffset.UtcNow }); } var articles = provider.AsQueryable <Article>(); var threshold = DateTimeOffset.UtcNow.Subtract(TimeSpan.FromDays(30)); var articlesByJohn = from a in articles where a.Author == "John Doe" && a.PublishDate > threshold orderby a.Title select a; Console.WriteLine("Articles by John Doe: " + articlesByJohn.Count()); var searchResults = from a in articles where a.SearchText == "some search query" select a; Console.WriteLine("Search Results: " + searchResults.Count()); }
protected virtual IQueryable <LucenePackage> ApplySearchCriteria(SearchCriteria criteria, IQueryable <LucenePackage> packages) { var advancedQuerySyntax = criteria.SearchTerm.Any(c => AdvancedQueryCharacters.Contains(c)); if (advancedQuerySyntax) { var queryParser = new NuGetQueryParser(LuceneDataProvider.CreateQueryParser <LucenePackage>()) { AllowLeadingWildcard = true }; try { var query = queryParser.Parse(criteria.SearchTerm); return(packages.Where(query)); } catch (ParseException ex) { throw new InvalidSearchCriteriaException("Failed to parse query", ex); } } return(from pkg in packages where ((pkg.Id == criteria.SearchTerm).Boost(5) || (pkg.SearchId == criteria.SearchTerm).Boost(4) || (pkg.Title == criteria.SearchTerm).Boost(3) || (pkg.Tags == criteria.SearchTerm).Boost(2) || (pkg.Authors.Contains(criteria.SearchTerm) || pkg.Owners.Contains(criteria.SearchTerm)).Boost(2) || (pkg.Files.Contains(criteria.SearchTerm)) || (pkg.Summary == criteria.SearchTerm || pkg.Description == criteria.SearchTerm)).AllowSpecialCharacters() select pkg); }
public static void Main() { var directory = new RAMDirectory(); var provider = new LuceneDataProvider(directory, Version.LUCENE_30); // add some documents using (var session = provider.OpenSession<Article>()) { session.Add(new Article { Author = "John Doe", BodyText = "some body text", PublishDate = DateTimeOffset.UtcNow }); } var articles = provider.AsQueryable<Article>(); var threshold = DateTimeOffset.UtcNow.Subtract(TimeSpan.FromDays(30)); var articlesByJohn = from a in articles where a.Author == "John Smith" && a.PublishDate > threshold orderby a.Title select a; var searchResults = from a in articles where a.SearchText == "some search query" select a; }
public void CommitInSessionAndDisposeProviderReleasesFiles() { var dir = "index." + DateTime.Now.Ticks; System.IO.Directory.CreateDirectory(dir); var provider = new LuceneDataProvider(FSDirectory.Open(dir), Version.LUCENE_30); using (provider) { using (var session = provider.OpenSession <Document>()) { session.Add(new Document { Id = 1 }); session.Commit(); session.Add(new Document { Id = 2 }); } } TestDelegate call = () => System.IO.Directory.Delete(dir, true); Assert.That(call, Throws.Nothing); }
public virtual void InitializeLucene() { directory = new RAMDirectory(); writer = new IndexWriter(directory, GetAnalyzer(version), IndexWriter.MaxFieldLength.UNLIMITED); provider = new LuceneDataProvider(directory, writer.Analyzer, version, writer); }
public void Demo() { var provider = new LuceneDataProvider(new RAMDirectory(), Version.LUCENE_30); using (var session = provider.OpenSession <Entity>()) { session.Add(new Entity { Text = "text is comprised of words" }); session.Add(new Entity { Text = "words compose text" }); session.Add(new Entity { Text = "completely unrelated" }); } var mapper = new MoreLikeThisDocumentMapper <Entity>(Version.LUCENE_30); var query = provider.AsQueryable(mapper); var result = query.First(e => e.Text == "words"); var moreLikeQuery = mapper.MoreLike(result); var moreLikeResults = query.Where(moreLikeQuery).Select(e => e.Text).ToList(); Assert.That(moreLikeResults, Is.EquivalentTo(new[] { "text is comprised of words", "words compose text" })); }
public void Index(Directory directory) { IndexWriter.Unlock(directory); var provider = new LuceneDataProvider(directory, Lucene.Net.Util.Version.LUCENE_30); var praticiens = _praticienRepository.GetAll().Where(a => !a.IsIndexed).ToList(); var itemsToIndex = new List <PraticienToIndexModel>(); praticiens.ForEach(a => { var item = PraticienWrapper.PraticienEntityToPraticienToIndexModel(a); itemsToIndex.Add(item); }); var indexedIds = new List <string>(); using (var session = provider.OpenSession <PraticienToIndexModel>()) { foreach (var praticienToIndex in itemsToIndex) { session.Add(praticienToIndex); indexedIds.Add(praticienToIndex.Cin); var indexedpraticien = praticiens.First( a => a.Cin.ToString().Equals(praticienToIndex.Cin, StringComparison.InvariantCultureIgnoreCase)); indexedpraticien.IsIndexed = true; _praticienRepository.Update(indexedpraticien); } session.Commit(); } }
public IEnumerable <string> GetAvailableSearchFieldNames() { var propertyNames = LuceneDataProvider.GetIndexedPropertyNames <LucenePackage>(); var aliasMap = NuGetQueryParser.IndexedPropertyAliases; return(propertyNames.Except(aliasMap.Values).Union(aliasMap.Keys)); }
public void OpenSessionWithoutWriterCreatesIndexWhenMissing() { var provider = new LuceneDataProvider(new RAMDirectory(), new SimpleAnalyzer(), Version.LUCENE_29); TestDelegate call = () => provider.OpenSession<Item>(); Assert.That(call, Throws.Nothing); }
public void OpenSessionThrowsWhenReadOnly() { var provider = new LuceneDataProvider(new RAMDirectory(), new SimpleAnalyzer(), Version.LUCENE_29); TestDelegate call = () => provider.OpenSession <Item>(); Assert.That(call, Throws.InvalidOperationException); }
public void Initialize() { LuceneDataProvider.RegisterCacheWarmingCallback(UpdatePackageCount, () => new LucenePackage(FileSystem)); UpdatePackageCount(LucenePackages); frameworkCompatibilityTool.InitializeKnownFrameworkShortNamesFromIndex(LuceneDataProvider); }
public void OpenSessionThrowsWhenReadOnly() { var provider = new LuceneDataProvider(new RAMDirectory(), new SimpleAnalyzer(), Version.LUCENE_29); TestDelegate call = () => provider.OpenSession<Item>(); Assert.That(call, Throws.InvalidOperationException); }
public void OpenSessionWithoutWriterCreatesIndexWhenMissing() { var provider = new LuceneDataProvider(new RAMDirectory(), new SimpleAnalyzer(), Version.LUCENE_29); TestDelegate call = () => provider.OpenSession <Item>(); Assert.That(call, Throws.Nothing); }
public void OpenSessionThrowsWhenDocumentMapperDoesNotImplementModificationDetector() { var provider = new LuceneDataProvider(new RAMDirectory(), new SimpleAnalyzer(), Version.LUCENE_29); TestDelegate call = () => provider.OpenSession(MockRepository.GenerateStrictMock <IDocumentMapper <Item> >()); Assert.That(call, Throws.ArgumentException.With.Property("ParamName").EqualTo("documentMapper")); }
public LuceneCache(MemoryModel model) { var version = Version.LUCENE_30; _directory = GetDirectory(model); _writer = new IndexWriter(_directory, new StandardAnalyzer(version), IndexWriter.MaxFieldLength.UNLIMITED); _provider = new LuceneDataProvider(_directory, _writer.Analyzer, version, _writer); }
public void OpenSessionThrowsWhenDocumentMapperDoesNotImplementModificationDetector() { var provider = new LuceneDataProvider(new RAMDirectory(), new SimpleAnalyzer(), Version.LUCENE_29); TestDelegate call = () => provider.OpenSession(MockRepository.GenerateStrictMock<IDocumentMapper<Item>>()); Assert.That(call, Throws.ArgumentException.With.Property("ParamName").EqualTo("documentMapper")); }
public override void InitializeLucene() { directory = new RAMDirectory(); provider = new LuceneDataProvider(directory, Net.Util.Version.LUCENE_30); AddDocument(new Sample {DateTime = time1}); AddDocument(new Sample {DateTime = time2}); AddDocument(new Sample {DateTime = time3}); }
protected override UsersController CreateController() { var provider = new LuceneDataProvider(new RAMDirectory(), Version.LUCENE_30); store = new UserStore(provider); return(new UsersController { Store = store }); }
public void DoesNotDisposeExternallyProvidesWriter() { var writer = MockRepository.GenerateMock <IIndexWriter>(); var provider = new LuceneDataProvider(new RAMDirectory(), new KeywordAnalyzer(), Version.LUCENE_30, writer, new object()); provider.Dispose(); writer.AssertWasNotCalled(w => w.Dispose()); }
public virtual LuceneDataProvider InitializeUsersDataProvider() { var usersIndexPath = Path.Combine(MapPathFromAppSetting("lucenePath", "~/App_Data/Lucene"), "Users"); var directoryInfo = new DirectoryInfo(usersIndexPath); var dir = FSDirectory.Open(directoryInfo, new NativeFSLockFactory(directoryInfo)); var provider = new LuceneDataProvider(dir, Version.LUCENE_30); provider.Settings.EnableMultipleEntities = false; return provider; }
public void MergesAnalyzersForSessionsOfDifferentTypes() { var provider = new LuceneDataProvider(new RAMDirectory(), Version.LUCENE_30); provider.OpenSession <A>(); provider.OpenSession <B>(); Assert.That(provider.Analyzer["Prop1"], Is.InstanceOf <SimpleAnalyzer>()); Assert.That(provider.Analyzer["Prop2"], Is.InstanceOf <WhitespaceAnalyzer>()); }
public LuceneDataProvider Build() { Version version = currentVersion != default(Version) ? currentVersion : global::Lucene.Net.Util.Version.LUCENE_30; Analyzer analyzer = currentAnalyzer ?? new StandardAnalyzer(version); IndexWriter indexWriter = currentIndexWriter ?? new IndexWriter(directory, analyzer, IndexWriter.MaxFieldLength.UNLIMITED); LuceneDataProvider provider = new LuceneDataProvider(directory, analyzer, version, indexWriter); provider.Settings.EnableMultipleEntities = false; return provider; }
public void SetUp() { directory = new RAMDirectory(); provider = new LuceneDataProvider(directory, Version.LUCENE_30); using (var session = provider.OpenSession<Item>()) { session.Add(new Item { Id = "0", Enum = SampleEnum.Things, NumericEnum = SampleEnum.Things }); session.Add(new Item { Id = "1", Enum = SampleEnum.Stuff, NumericEnum = SampleEnum.Stuff }); } }
public void ThrowsWhenExternallyCreatedWriterIsClosed() { var writer = MockRepository.GenerateStrictMock <IIndexWriter>(); var provider = new LuceneDataProvider(new RAMDirectory(), Version.LUCENE_30, writer, new object()); writer.Expect(iw => iw.IsClosed).Return(true); TestDelegate call = () => provider.IndexWriter.ToString(); Assert.That(call, Throws.InvalidOperationException); }
public LuceneDataProvider Build() { Version version = currentVersion != default(Version) ? currentVersion : global::Lucene.Net.Util.Version.LUCENE_30; Analyzer analyzer = currentAnalyzer ?? new StandardAnalyzer(version); IndexWriter indexWriter = currentIndexWriter ?? new IndexWriter(directory, analyzer, IndexWriter.MaxFieldLength.UNLIMITED); LuceneDataProvider provider = new LuceneDataProvider(directory, analyzer, version, indexWriter); provider.Settings.EnableMultipleEntities = false; return(provider); }
public void GetPackagesSkipSelect() { var provider = new LuceneDataProvider(new RAMDirectory(), Version.LUCENE_30); var options = SetUpRequestWithOptions("/api/odata/Packages?$select=Id&$skip=1"); var queryable = provider.AsQueryable(() => new LucenePackage(_ => new MemoryStream())).Select(x => x.ToODataPackage()); var result = options.ApplyTo(queryable, new ODataQuerySettings {HandleNullPropagation = HandleNullPropagationOption.False}); Assert.That(result.OfType<object>().ToList().Count(), Is.EqualTo(0)); repo.VerifyAll(); }
public IEnumerable<string> GetKnownFrameworkShortNamesFromIndex(LuceneDataProvider provider) { var termEnum = provider.IndexWriter.GetReader().Terms(); while (termEnum.Next()) { if (termEnum.Term.Field == SupportedFrameworksFieldName) { yield return termEnum.Term.Text; } } }
public IEnumerable <string> GetKnownFrameworkShortNamesFromIndex(LuceneDataProvider provider) { var termEnum = provider.IndexWriter.GetReader().Terms(); while (termEnum.Next()) { if (termEnum.Term.Field == SupportedFrameworksFieldName) { yield return(termEnum.Term.Text); } } }
public void Execute() { using (var provider = new LuceneDataProvider(LuceneSearch.LuceneDirectory, Lucene.Net.Util.Version.LUCENE_30)) { provider.Settings.EnableMultipleEntities = false; using (var session = provider.OpenSession<ContactDocument>()) { var mapped = LuceneSearch.MapContactToDocument(contact); session.Delete(mapped); } } }
public void GetPackagesSkipSelect() { var provider = new LuceneDataProvider(new RAMDirectory(), Version.LUCENE_30); var options = SetUpRequestWithOptions("/api/odata/Packages?$select=Id&$skip=1"); var queryable = provider.AsQueryable(() => new LucenePackage(_ => new MemoryStream())).Select(x => x.ToODataPackage()); var result = options.ApplyTo(queryable, new ODataQuerySettings { HandleNullPropagation = HandleNullPropagationOption.False }); Assert.That(result.OfType <object>().ToList().Count(), Is.EqualTo(0)); repo.VerifyAll(); }
public override void InitializeLucene() { directory = new RAMDirectory(); provider = new LuceneDataProvider(directory, version); modificationDetector = new PropertyChangedModificationDetector <ExampleEntity>(); map = new ClassMap <ExampleEntity>(Version.LUCENE_30); map.Key(e => e.Id); map.Property(e => e.Name); AddDocument(new ExampleEntity { Id = "entity 1", Name = "default" }); }
public void RegisterCacheWarmingCallback() { var directory = new RAMDirectory(); var writer = new IndexWriter(directory, new CaseInsensitiveKeywordAnalyzer(), true, IndexWriter.MaxFieldLength.UNLIMITED); var provider = new LuceneDataProvider(directory, new SimpleAnalyzer(), Version.LUCENE_29, writer); var count = -1; provider.RegisterCacheWarmingCallback<Item>(q => count = q.Count()); provider.Context.Reload(); Assert.That(count, Is.EqualTo(0)); }
public void RegisterCacheWarmingCallback() { var directory = new RAMDirectory(); var writer = new IndexWriter(directory, new CaseInsensitiveKeywordAnalyzer(), true, IndexWriter.MaxFieldLength.UNLIMITED); var provider = new LuceneDataProvider(directory, new SimpleAnalyzer(), Version.LUCENE_29, writer); var count = -1; provider.RegisterCacheWarmingCallback <Item>(q => count = q.Count()); provider.Context.Reload(); Assert.That(count, Is.EqualTo(0)); }
public void SetUp() { directory = new RAMDirectory(); provider = new LuceneDataProvider(directory, Version.LUCENE_30); using (var session = provider.OpenSession <Item>()) { session.Add(new Item { Id = "0", Enum = SampleEnum.Things, NumericEnum = SampleEnum.Things }); session.Add(new Item { Id = "1", Enum = SampleEnum.Stuff, NumericEnum = SampleEnum.Stuff }); } }
public override void InitializeLucene() { directory = new RAMDirectory(); provider = new LuceneDataProvider(directory, Net.Util.Version.LUCENE_30); AddDocument(new Sample { DateTime = time1 }); AddDocument(new Sample { DateTime = time2 }); AddDocument(new Sample { DateTime = time3 }); }
protected virtual LuceneDataProvider InitializeUsersDataProvider(INuGetWebApiSettings settings) { var usersIndexPath = settings.LuceneUsersIndexPath; var directoryInfo = new DirectoryInfo(usersIndexPath); var dir = FSDirectory.Open(directoryInfo, new NativeFSLockFactory(directoryInfo)); var provider = new LuceneDataProvider(dir, Version.LUCENE_30) { Settings = { EnableMultipleEntities = false, MergeFactor = 2 } }; return(provider); }
public void TestBaseSetUp() { packagePathResolver = new Mock<IPackagePathResolver>(); loader = new Mock<ILucenePackageRepository>(MockBehavior.Strict); fileSystem = new Mock<IFileSystem>(); packagePathResolver.Setup(p => p.GetPackageDirectory(It.IsAny<IPackage>())).Returns("package-dir"); packagePathResolver.Setup(p => p.GetPackageFileName(It.IsAny<IPackage>())).Returns((Func<IPackage, string>)(pkg => pkg.Id)); var dir = new RAMDirectory(); provider = new LuceneDataProvider(dir, Version.LUCENE_30); indexWriter = provider.IndexWriter; datasource = provider.AsQueryable(() => new LucenePackage(fileSystem.Object)); }
protected virtual void InitializeLucene() { LuceneDirectory = OpenLuceneDirectory(LuceneIndexPath); Provider = new LuceneDataProvider(LuceneDirectory, Version.LUCENE_30) { Settings = { EnableMultipleEntities = false } }; if (LuceneMergeFactor >= 2) { Provider.Settings.MergeFactor = LuceneMergeFactor; } }
public void TestBaseSetUp() { packagePathResolver = new Mock <IPackagePathResolver>(); loader = new Mock <ILucenePackageRepository>(MockBehavior.Strict); fileSystem = new Mock <IFileSystem>(); packagePathResolver.Setup(p => p.GetPackageDirectory(It.IsAny <IPackage>())).Returns("package-dir"); packagePathResolver.Setup(p => p.GetPackageDirectory(It.IsAny <string>(), It.IsAny <SemanticVersion>())).Returns("package-dir"); packagePathResolver.Setup(p => p.GetPackageFileName(It.IsAny <IPackage>())).Returns((Func <IPackage, string>)(pkg => pkg.Id)); packagePathResolver.Setup(p => p.GetPackageFileName(It.IsAny <string>(), It.IsAny <SemanticVersion>())).Returns((Func <string, SemanticVersion, string>)((id, version) => id + "." + version)); var dir = new RAMDirectory(); provider = new LuceneDataProvider(dir, Version.LUCENE_30); indexWriter = provider.IndexWriter; datasource = provider.AsQueryable(() => new LucenePackage(fileSystem.Object)); }
public void CommitInSessionAndDisposeProviderReleasesFiles() { var dir = "index." + DateTime.Now.Ticks; System.IO.Directory.CreateDirectory(dir); var provider = new LuceneDataProvider(FSDirectory.Open(dir), Version.LUCENE_30); using (provider) { using (var session = provider.OpenSession<Document>()) { session.Add(new Document { Id = 1 }); session.Commit(); session.Add(new Document { Id = 2 }); } } TestDelegate call = () => System.IO.Directory.Delete(dir, true); Assert.That(call, Throws.Nothing); }
public SearchResult<ContactDocument> Search(string searchQuery) { using (var provider = new LuceneDataProvider(LuceneSearch.LuceneDirectory, Version.LUCENE_30)) { provider.Settings.EnableMultipleEntities = false; var queryParser = new MultiFieldParser<ContactDocument>(Version.LUCENE_30, new ReflectionDocumentMapper<ContactDocument>(Version.LUCENE_30)); var query = queryParser.Parse(searchQuery); var queryable = provider.AsQueryable<ContactDocument>(); var results = queryable.Where(query); return new SearchResult<ContactDocument> { SearchTerm = searchQuery, Results = results.ToList() }; } }
public SearchResult<ContactDocument> Search(string searchQuery) { using (var provider = new LuceneDataProvider(LuceneSearch.LuceneDirectory, Version.LUCENE_30)) { provider.Settings.EnableMultipleEntities = false; var queryParser = provider.CreateQueryParser<ContactDocument>(); queryParser.DefaultSearchProperty = "All"; queryParser.DefaultOperator = Lucene.Net.QueryParsers.QueryParser.Operator.AND; var query = queryParser.Parse(searchQuery); var queryable = provider.AsQueryable<ContactDocument>(); var results = queryable.Where(query); return new SearchResult<ContactDocument> { SearchTerm = searchQuery, Results = results.ToList() }; } }
public void InitializeIndex() { var context = new AddressBookContext(connectionString); var contacts = context.Contacts .Include(c => c.Organisation) .Include(c => c.Department) .Include(c => c.Office.Address) .Include(c => c.PhoneNumbers) .Include(c => c.EmailAddresses); using (var provider = new LuceneDataProvider(LuceneSearch.LuceneDirectory, Lucene.Net.Util.Version.LUCENE_30)) { provider.Settings.EnableMultipleEntities = false; using (var session = provider.OpenSession<ContactDocument>()) { var docs = contacts.Select(LuceneSearch.MapContactToDocument).ToArray(); session.DeleteAll(); session.Add(docs); } } }
public void SetUp() { provider = new LuceneDataProvider(new RAMDirectory(), Version.LUCENE_30); store = new UserStore(provider); }
public void InitializeKnownFrameworkShortNamesFromIndex(LuceneDataProvider provider) { AddKnownFrameworkShortNames(GetKnownFrameworkShortNamesFromIndex(provider)); }
public UserStore(LuceneDataProvider provider) { this.provider = provider; }
public void SetUp() { directory = new RAMDirectory(); provider = new LuceneDataProvider(directory, Version.LUCENE_30); }
public void CreatesIndex() { var provider = new LuceneDataProvider(new RAMDirectory(), Version.LUCENE_30); Assert.That(provider.AsQueryable<A>().Count(), Is.EqualTo(0)); }
public void ThrowsWhenExternallyCreatedWriterIsClosed() { var writer = MockRepository.GenerateStrictMock<IIndexWriter>(); var provider = new LuceneDataProvider(new RAMDirectory(), Version.LUCENE_30, writer, new object()); writer.Expect(iw => iw.IsClosed).Return(true); TestDelegate call = () => provider.IndexWriter.ToString(); Assert.That(call, Throws.InvalidOperationException); }
protected virtual LuceneDataProvider InitializeUsersDataProvider(INuGetWebApiSettings settings) { var usersIndexPath = settings.LuceneUsersIndexPath; var directoryInfo = new DirectoryInfo(usersIndexPath); var dir = FSDirectory.Open(directoryInfo, new NativeFSLockFactory(directoryInfo)); var provider = new LuceneDataProvider(dir, Version.LUCENE_30) { Settings = { EnableMultipleEntities = false, MergeFactor = 2 } }; return provider; }
public void DoesNotDisposeExternallyProvidesWriter() { var writer = MockRepository.GenerateMock<IIndexWriter>(); var provider = new LuceneDataProvider(new RAMDirectory(), new KeywordAnalyzer(), Version.LUCENE_30, writer, new object()); provider.Dispose(); writer.AssertWasNotCalled(w => w.Dispose()); }
private void InitializeLucene() { LuceneDirectory = OpenLuceneDirectory(LuceneIndexPath); Provider = new LuceneDataProvider(LuceneDirectory, Version.LUCENE_30); Provider.Settings.EnableMultipleEntities = false; }
public void MergesAnalyzersForSessionsOfDifferentTypes() { var provider = new LuceneDataProvider(new RAMDirectory(), Version.LUCENE_30); provider.OpenSession<A>(); provider.OpenSession<B>(); Assert.That(provider.Analyzer["Prop1"], Is.InstanceOf<SimpleAnalyzer>()); Assert.That(provider.Analyzer["Prop2"], Is.InstanceOf<WhitespaceAnalyzer>()); }
private void InitializeLucene() { LuceneDirectory = OpenLuceneDirectory(LuceneIndexPath); Provider = new LuceneDataProvider(LuceneDirectory, Version.LUCENE_30); }