public void MultiIndex_Simple_Search() { var analyzer = new StandardAnalyzer(Version.LUCENE_30); using (var luceneDir1 = new RandomIdRAMDirectory()) using (var luceneDir2 = new RandomIdRAMDirectory()) using (var luceneDir3 = new RandomIdRAMDirectory()) using (var luceneDir4 = new RandomIdRAMDirectory()) using (var indexer1 = new TestIndex(luceneDir1, analyzer)) using (var indexer2 = new TestIndex(luceneDir2, analyzer)) using (var indexer3 = new TestIndex(luceneDir3, analyzer)) using (var indexer4 = new TestIndex(luceneDir4, analyzer)) { indexer1.IndexItem(ValueSet.FromObject(1.ToString(), "content", new { item1 = "value1", item2 = "The agitated zebras gallop back and forth in short, panicky dashes, then skitter off into the absolute darkness." })); indexer2.IndexItem(ValueSet.FromObject(1.ToString(), "content", new { item1 = "value2", item2 = "The festival lasts five days and celebrates the victory of good over evil, light over darkness, and knowledge over ignorance." })); indexer3.IndexItem(ValueSet.FromObject(1.ToString(), "content", new { item1 = "value3", item2 = "They are expected to confront the darkness and show evidence that they have done so in their papers" })); indexer4.IndexItem(ValueSet.FromObject(1.ToString(), "content", new { item1 = "value4", item2 = "Scientists believe the lake could be home to cold-loving microbial life adapted to living in total darkness." })); indexer3.IndexItem(ValueSet.FromObject(2.ToString(), "content", new { item1 = "value3", item2 = "Scotch scotch scotch, i love scotch" })); indexer4.IndexItem(ValueSet.FromObject(2.ToString(), "content", new { item1 = "value4", item2 = "60% of the time, it works everytime" })); using (var searcher = new MultiIndexSearcher("testSearcher", new[] { indexer1, indexer2, indexer3, indexer4 }, analyzer)) { var result = searcher.Search("darkness"); Assert.AreEqual(4, result.TotalItemCount); foreach (var r in result) { Console.WriteLine("Score = " + r.Score); } } } }
public void Initialize() { _cwsDir = new RAMDirectory(); _pdfDir = new RAMDirectory(); _simpleDir = new RAMDirectory(); _conventionDir = new RAMDirectory(); //get all of the indexers and rebuild them all first var indexers = new IIndexer[] { IndexInitializer.GetUmbracoIndexer(_cwsDir), IndexInitializer.GetSimpleIndexer(_simpleDir), IndexInitializer.GetUmbracoIndexer(_conventionDir) }; foreach (var i in indexers) { try { i.RebuildIndex(); } finally { var d = i as IDisposable; if (d != null) { d.Dispose(); } } } //now get the multi index searcher for all indexes _searcher = IndexInitializer.GetMultiSearcher(_pdfDir, _simpleDir, _conventionDir, _cwsDir); }
internal BaseLuceneSearcher InitMultiIndexSearcher(BaseLuceneSearcher searcher, NameValueCollection entryIndexSets) { var searchProvider = new MultiIndexSearcher(); searchProvider.Initialize(searcher.Name, entryIndexSets); return(searchProvider); }
public void MultiIndex_Field_Count() { var analyzer = new StandardAnalyzer(Version.LUCENE_30); using (var luceneDir1 = new RandomIdRAMDirectory()) using (var luceneDir2 = new RandomIdRAMDirectory()) using (var luceneDir3 = new RandomIdRAMDirectory()) using (var luceneDir4 = new RandomIdRAMDirectory()) using (var indexer1 = new TestIndex(luceneDir1, analyzer) { RunAsync = false }) using (var indexer2 = new TestIndex(luceneDir2, analyzer) { RunAsync = false }) using (var indexer3 = new TestIndex(luceneDir3, analyzer) { RunAsync = false }) using (var indexer4 = new TestIndex(luceneDir4, analyzer) { RunAsync = false }) { indexer1.IndexItem(ValueSet.FromObject(1.ToString(), "content", new { item1 = "hello", item2 = "The agitated zebras gallop back and forth in short, panicky dashes, then skitter off into the absolute darkness." })); indexer2.IndexItem(ValueSet.FromObject(1.ToString(), "content", new { item1 = "world", item2 = "The festival lasts five days and celebrates the victory of good over evil, light over darkness, and knowledge over ignorance." })); indexer3.IndexItem(ValueSet.FromObject(1.ToString(), "content", new { item1 = "here", item2 = "They are expected to confront the darkness and show evidence that they have done so in their papers" })); indexer4.IndexItem(ValueSet.FromObject(1.ToString(), "content", new { item1 = "are", item2 = "Scientists believe the lake could be home to cold-loving microbial life adapted to living in total darkness." })); indexer3.IndexItem(ValueSet.FromObject(2.ToString(), "content", new { item3 = "some", item2 = "Scotch scotch scotch, i love scotch" })); indexer4.IndexItem(ValueSet.FromObject(2.ToString(), "content", new { item4 = "values", item2 = "60% of the time, it works everytime" })); using (var searcher = new MultiIndexSearcher("testSearcher", new[] { indexer1, indexer2, indexer3, indexer4 }, analyzer)) { var result = searcher.GetAllIndexedFields(); //will be item1 , item2, item3, and item4 Assert.AreEqual(4, result.Count()); foreach (var s in new[] { "item1", "item2", "item3", "item4" }) { Assert.IsTrue(result.Contains(s)); } } } }
public void Dont_Initialize_Searchers_On_Dispose_If_Not_Already_Initialized() { var analyzer = new StandardAnalyzer(Version.LUCENE_30); using (var luceneDir1 = new RandomIdRAMDirectory()) using (var luceneDir2 = new RandomIdRAMDirectory()) using (var luceneDir3 = new RandomIdRAMDirectory()) using (var luceneDir4 = new RandomIdRAMDirectory()) using (var indexer1 = new TestIndex(luceneDir1, analyzer)) using (var indexer2 = new TestIndex(luceneDir2, analyzer)) using (var indexer3 = new TestIndex(luceneDir3, analyzer)) using (var indexer4 = new TestIndex(luceneDir4, analyzer)) { var searcher = new MultiIndexSearcher("testSearcher", new[] { indexer1, indexer2, indexer3, indexer4 }, analyzer); Assert.IsFalse(searcher.SearchersInitialized); searcher.Dispose(); Assert.IsFalse(searcher.SearchersInitialized); } }
public static MultiIndexSearcher GetMultiSearcher(Directory pdfDir, Directory simpleDir, Directory conventionDir, Directory cwsDir) { var i = new MultiIndexSearcher(new[] { pdfDir, simpleDir, conventionDir, cwsDir }, new StandardAnalyzer(Version.LUCENE_29)); return(i); }
public MultiIndexSearcher GetMultiSearcher(DirectoryInfo pdfDir, DirectoryInfo simpleDir, DirectoryInfo conventionDir, DirectoryInfo cwsDir) { var i = new MultiIndexSearcher(new[] { pdfDir, simpleDir, conventionDir, cwsDir }, new StandardAnalyzer(Lucene.Net.Util.Version.LUCENE_29)); return(i); }