//JAVA TO C# CONVERTER WARNING: Method 'throws' clauses are not available in .NET:
 //ORIGINAL LINE: @Override public void setUp() throws Exception
 public override void setUp()
 {
     base.setUp();
     dir = new RAMDirectory();
     appAnalyzer = new MockAnalyzer(random(), MockTokenizer.WHITESPACE, false);
     IndexWriter writer = new IndexWriter(dir, new IndexWriterConfig(TEST_VERSION_CURRENT, appAnalyzer));
     int numDocs = 200;
     for (int i = 0; i < numDocs; i++)
     {
       Document doc = new Document();
       string variedFieldValue = variedFieldValues[i % variedFieldValues.Length];
       string repetitiveFieldValue = repetitiveFieldValues[i % repetitiveFieldValues.Length];
       doc.add(new TextField("variedField", variedFieldValue, Field.Store.YES));
       doc.add(new TextField("repetitiveField", repetitiveFieldValue, Field.Store.YES));
       writer.addDocument(doc);
     }
     writer.close();
     reader = DirectoryReader.open(dir);
 }
Ejemplo n.º 2
0
//JAVA TO C# CONVERTER WARNING: Method 'throws' clauses are not available in .NET:
//ORIGINAL LINE: @Override public void setUp() throws Exception
        public override void setUp()
        {
            base.setUp();
            dir         = new RAMDirectory();
            appAnalyzer = new MockAnalyzer(random(), MockTokenizer.WHITESPACE, false);
            IndexWriter writer  = new IndexWriter(dir, new IndexWriterConfig(TEST_VERSION_CURRENT, appAnalyzer));
            int         numDocs = 200;

            for (int i = 0; i < numDocs; i++)
            {
                Document doc = new Document();
                string   variedFieldValue     = variedFieldValues[i % variedFieldValues.Length];
                string   repetitiveFieldValue = repetitiveFieldValues[i % repetitiveFieldValues.Length];
                doc.add(new TextField("variedField", variedFieldValue, Field.Store.YES));
                doc.add(new TextField("repetitiveField", repetitiveFieldValue, Field.Store.YES));
                writer.addDocument(doc);
            }
            writer.close();
            reader = DirectoryReader.open(dir);
        }
Ejemplo n.º 3
0
        /*
         * public void testPerFieldAnalyzer() throws Exception {
         * PerFieldAnalyzerWrapper analyzer = new PerFieldAnalyzerWrapper(new SimpleAnalyzer(TEST_VERSION_CURRENT));
         * analyzer.addAnalyzer("partnum", new KeywordAnalyzer());
         *
         * QueryParser queryParser = new QueryParser(TEST_VERSION_CURRENT, "description", analyzer);
         * Query query = queryParser.parse("partnum:Q36 AND SPACE");
         *
         * ScoreDoc[] hits = searcher.search(query, null, 1000).scoreDocs;
         * assertEquals("Q36 kept as-is",
         *          "+partnum:Q36 +space", query.toString("description"));
         * assertEquals("doc found!", 1, hits.length);
         * }
         */

//JAVA TO C# CONVERTER WARNING: Method 'throws' clauses are not available in .NET:
//ORIGINAL LINE: public void testMutipleDocument() throws Exception
        public virtual void testMutipleDocument()
        {
            RAMDirectory dir    = new RAMDirectory();
            IndexWriter  writer = new IndexWriter(dir, new IndexWriterConfig(TEST_VERSION_CURRENT, new KeywordAnalyzer()));
            Document     doc    = new Document();

            doc.add(new TextField("partnum", "Q36", Field.Store.YES));
            writer.addDocument(doc);
            doc = new Document();
            doc.add(new TextField("partnum", "Q37", Field.Store.YES));
            writer.addDocument(doc);
            writer.close();

            IndexReader reader = DirectoryReader.open(dir);
            DocsEnum    td     = TestUtil.docs(random(), reader, "partnum", new BytesRef("Q36"), MultiFields.getLiveDocs(reader), null, 0);

            assertTrue(td.nextDoc() != DocIdSetIterator.NO_MORE_DOCS);
            td = TestUtil.docs(random(), reader, "partnum", new BytesRef("Q37"), MultiFields.getLiveDocs(reader), null, 0);
            assertTrue(td.nextDoc() != DocIdSetIterator.NO_MORE_DOCS);
        }
Ejemplo n.º 4
0
        /*
          public void testPerFieldAnalyzer() throws Exception {
        PerFieldAnalyzerWrapper analyzer = new PerFieldAnalyzerWrapper(new SimpleAnalyzer(TEST_VERSION_CURRENT));
        analyzer.addAnalyzer("partnum", new KeywordAnalyzer());

        QueryParser queryParser = new QueryParser(TEST_VERSION_CURRENT, "description", analyzer);
        Query query = queryParser.parse("partnum:Q36 AND SPACE");

        ScoreDoc[] hits = searcher.search(query, null, 1000).scoreDocs;
        assertEquals("Q36 kept as-is",
                  "+partnum:Q36 +space", query.toString("description"));
        assertEquals("doc found!", 1, hits.length);
          }
          */
        //JAVA TO C# CONVERTER WARNING: Method 'throws' clauses are not available in .NET:
        //ORIGINAL LINE: public void testMutipleDocument() throws Exception
        public virtual void testMutipleDocument()
        {
            RAMDirectory dir = new RAMDirectory();
            IndexWriter writer = new IndexWriter(dir, new IndexWriterConfig(TEST_VERSION_CURRENT, new KeywordAnalyzer()));
            Document doc = new Document();
            doc.add(new TextField("partnum", "Q36", Field.Store.YES));
            writer.addDocument(doc);
            doc = new Document();
            doc.add(new TextField("partnum", "Q37", Field.Store.YES));
            writer.addDocument(doc);
            writer.close();

            IndexReader reader = DirectoryReader.open(dir);
            DocsEnum td = TestUtil.docs(random(), reader, "partnum", new BytesRef("Q36"), MultiFields.getLiveDocs(reader), null, 0);
            assertTrue(td.nextDoc() != DocIdSetIterator.NO_MORE_DOCS);
            td = TestUtil.docs(random(), reader, "partnum", new BytesRef("Q37"), MultiFields.getLiveDocs(reader), null, 0);
            assertTrue(td.nextDoc() != DocIdSetIterator.NO_MORE_DOCS);
        }
Ejemplo n.º 5
0
        /// <summary>
        /// Make sure we skip wicked long terms.
        /// </summary>
        //JAVA TO C# CONVERTER WARNING: Method 'throws' clauses are not available in .NET:
        //ORIGINAL LINE: public void testWickedLongTerm() throws java.io.IOException
        public virtual void testWickedLongTerm()
        {
            RAMDirectory dir = new RAMDirectory();
            IndexWriter writer = new IndexWriter(dir, new IndexWriterConfig(TEST_VERSION_CURRENT, new ClassicAnalyzer(TEST_VERSION_CURRENT)));

            char[] chars = new char[IndexWriter.MAX_TERM_LENGTH];
            Arrays.fill(chars, 'x');
            Document doc = new Document();
            //JAVA TO C# CONVERTER WARNING: The original Java variable was marked 'final':
            //ORIGINAL LINE: final String bigTerm = new String(chars);
            string bigTerm = new string(chars);

            // This produces a too-long term:
            string contents = "abc xyz x" + bigTerm + " another term";
            doc.add(new TextField("content", contents, Field.Store.NO));
            writer.addDocument(doc);

            // Make sure we can add another normal document
            doc = new Document();
            doc.add(new TextField("content", "abc bbb ccc", Field.Store.NO));
            writer.addDocument(doc);
            writer.close();

            IndexReader reader = IndexReader.open(dir);

            // Make sure all terms < max size were indexed
            assertEquals(2, reader.docFreq(new Term("content", "abc")));
            assertEquals(1, reader.docFreq(new Term("content", "bbb")));
            assertEquals(1, reader.docFreq(new Term("content", "term")));
            assertEquals(1, reader.docFreq(new Term("content", "another")));

            // Make sure position is still incremented when
            // massive term is skipped:
            DocsAndPositionsEnum tps = MultiFields.getTermPositionsEnum(reader, MultiFields.getLiveDocs(reader), "content", new BytesRef("another"));
            assertTrue(tps.nextDoc() != DocIdSetIterator.NO_MORE_DOCS);
            assertEquals(1, tps.freq());
            assertEquals(3, tps.nextPosition());

            // Make sure the doc that has the massive term is in
            // the index:
            assertEquals("document with wicked long term should is not in the index!", 2, reader.numDocs());

            reader.close();

            // Make sure we can add a document with exactly the
            // maximum length term, and search on that term:
            doc = new Document();
            doc.add(new TextField("content", bigTerm, Field.Store.NO));
            ClassicAnalyzer sa = new ClassicAnalyzer(TEST_VERSION_CURRENT);
            sa.MaxTokenLength = 100000;
            writer = new IndexWriter(dir, new IndexWriterConfig(TEST_VERSION_CURRENT, sa));
            writer.addDocument(doc);
            writer.close();
            reader = IndexReader.open(dir);
            assertEquals(1, reader.docFreq(new Term("content", bigTerm)));
            reader.close();

            dir.close();
        }