public IIndexBuilder CreateBuilder(IIndexName name) { //NOTE: Choice of index storage from: // - PersistentMetadataList // - PersistentMetadataBtree return(new PersistentBuilder(Convert(name))); }
public static IFullTextIndex AddToIndex(IIndexName indexName, string text) { using (var builder = IndexFactory.CreateBuilder(indexName)) { builder.Start(); builder.AddText(text, null); builder.StopAndWait(); } return(IndexFactory.OpenIndex(indexName)); }
private static IIndexTypeFactory GetFactoryForName(IIndexName name) { if (name == null) { throw new ArgumentNullException(nameof(name)); } if (!indexTypes.TryGetValue(name.GetType(), out var factory)) { throw new InvalidOperationException($"Invalid type {name.GetType().Name}"); } return(factory); }
public static IFullTextIndex PrepareIndexForSearch(IIndexName indexName) { using (var builder = IndexFactory.CreateBuilder(indexName)) { builder.Start(); builder.AddText("Hello World!", null); builder.AddText("Petro Petrolium Petrol", null); builder.AddText("This is test document for search unit tests", null); builder.AddText("This test document is used for search operators", null); builder.AddText("This full-text search only supports boolean operators: and, or", null); builder.AddText("Programming is very exciting. Programs can help. This is fantastic!!!", null); builder.StopAndWait(); } return(IndexFactory.OpenIndex(indexName)); }
private static PersistentIndexName Convert(IIndexName name) { if (name == null) { throw new ArgumentNullException(nameof(name)); } var result = name as PersistentIndexName; if (result == null) { throw new InvalidOperationException($"Invalid type {name.GetType().Name}"); } return(result); }
private static InMemoryIndexName InMemoryName(IIndexName name) { if (name == null) { throw new ArgumentNullException(nameof(name)); } var result = name as InMemoryIndexName; if (result == null) { throw new InvalidOperationException($"Invalid type {name.GetType().Name}"); } return(result); }
public static IFullTextIndex OpenIndex(IIndexName name) { IIndexTypeFactory factory = GetFactoryForName(name); return(factory.OpenIndex(name)); }
public static IIndexBuilder CreateBuilder(IIndexName name) { IIndexTypeFactory factory = GetFactoryForName(name); return(factory.CreateBuilder(name)); }
public IFullTextIndex OpenIndex(IIndexName name) { return(new PersistentIndex(Convert(name))); }
public IIndexBuilder CreateBuilder(IIndexName name) { return(new InMemoryBuilder(InMemoryName(name))); }
public IFullTextIndex OpenIndex(IIndexName name) { return(InMemoryName(name).Index); }