private void CreateIndex(int numHits) { int numDocs = 500; Analyzer analyzer = Analyzer.NewAnonymous(createComponents: (fieldName, reader2) => { return(new TokenStreamComponents(new MockTokenizer(reader2, MockTokenizer.WHITESPACE, true))); }); Directory directory = new SeekCountingDirectory(this, new RAMDirectory()); // note: test explicitly disables payloads IndexWriter writer = new IndexWriter(directory, NewIndexWriterConfig(TEST_VERSION_CURRENT, analyzer).SetMaxBufferedDocs(10).SetMergePolicy(NewLogMergePolicy(false))); for (int i = 0; i < numDocs; i++) { Document doc = new Document(); string content; if (i % (numDocs / numHits) == 0) { // add a document that matches the query "term1 term2" content = this.term1 + " " + this.term2; } else if (i % 15 == 0) { // add a document that only contains term1 content = this.term1 + " " + this.term1; } else { // add a document that contains term2 but not term 1 content = this.term3 + " " + this.term2; } doc.Add(NewTextField(this.field, content, Documents.Field.Store.YES)); writer.AddDocument(doc); } // make sure the index has only a single segment writer.ForceMerge(1); writer.Dispose(); SegmentReader reader = GetOnlySegmentReader(DirectoryReader.Open(directory)); this.searcher = NewSearcher(reader); }
private void CreateIndex(int numHits) { int numDocs = 500; Directory directory = new SeekCountingDirectory(this); IndexWriter writer = new IndexWriter(directory, new WhitespaceAnalyzer(), true, IndexWriter.MaxFieldLength.LIMITED); writer.SetUseCompoundFile(false); writer.SetMaxBufferedDocs(10); for (int i = 0; i < numDocs; i++) { Document doc = new Document(); System.String content; if (i % (numDocs / numHits) == 0) { // add a document that matches the query "term1 term2" content = this.term1 + " " + this.term2; } else if (i % 15 == 0) { // add a document that only contains term1 content = this.term1 + " " + this.term1; } else { // add a document that contains term2 but not term 1 content = this.term3 + " " + this.term2; } doc.Add(new Field(this.field, content, Field.Store.YES, Field.Index.ANALYZED)); writer.AddDocument(doc); } // make sure the index has only a single segment writer.Optimize(); writer.Close(); SegmentReader reader = SegmentReader.GetOnlySegmentReader(directory); this.searcher = new IndexSearcher(reader); }
private void CreateIndex(int numHits) { int numDocs = 500; Directory directory = new SeekCountingDirectory(this); IndexWriter writer = new IndexWriter(directory, new WhitespaceAnalyzer(), true, IndexWriter.MaxFieldLength.LIMITED); writer.UseCompoundFile = false; writer.SetMaxBufferedDocs(10); for (int i = 0; i < numDocs; i++) { Document doc = new Document(); System.String content; if (i % (numDocs / numHits) == 0) { // add a document that matches the query "term1 term2" content = this.term1 + " " + this.term2; } else if (i % 15 == 0) { // add a document that only contains term1 content = this.term1 + " " + this.term1; } else { // add a document that contains term2 but not term 1 content = this.term3 + " " + this.term2; } doc.Add(new Field(this.field, content, Field.Store.YES, Field.Index.ANALYZED)); writer.AddDocument(doc); } // make sure the index has only a single segment writer.Optimize(); writer.Close(); SegmentReader reader = SegmentReader.GetOnlySegmentReader(directory); this.searcher = new IndexSearcher(reader); }
private void CreateIndex(int numHits) { int numDocs = 500; Analyzer analyzer = new AnalyzerAnonymousInnerClassHelper(this); Directory directory = new SeekCountingDirectory(this, new RAMDirectory()); // note: test explicitly disables payloads IndexWriter writer = new IndexWriter(directory, NewIndexWriterConfig(TEST_VERSION_CURRENT, analyzer).SetMaxBufferedDocs(10).SetMergePolicy(NewLogMergePolicy(false))); for (int i = 0; i < numDocs; i++) { Document doc = new Document(); string content; if (i % (numDocs / numHits) == 0) { // add a document that matches the query "term1 term2" content = this.Term1 + " " + this.Term2; } else if (i % 15 == 0) { // add a document that only contains term1 content = this.Term1 + " " + this.Term1; } else { // add a document that contains term2 but not term 1 content = this.Term3 + " " + this.Term2; } doc.Add(NewTextField(this.Field, content, Documents.Field.Store.YES)); writer.AddDocument(doc); } // make sure the index has only a single segment writer.ForceMerge(1); writer.Dispose(); SegmentReader reader = GetOnlySegmentReader(DirectoryReader.Open(directory)); this.Searcher = NewSearcher(reader); }