Exemplo n.º 1
0
        public void SortOrder_With_MultiSearcher_Across_Indexes_Test()
        {
            var dir2 = new RAMDirectory();

            var indexWriter2 = new IndexWriter(dir2, _analyzer, IndexWriter.MaxFieldLength.UNLIMITED);

            indexWriter2.AddDocument(CreateDocument(100, "Anders", 0));

            indexWriter2.Commit();


            var searcher              = new IndexSearcher(_dir, true);
            var searcher2             = new IndexSearcher(dir2, true);
            var parallelMultiSearcher = new ParallelMultiSearcher(new Searchable[] { searcher, searcher2 });


            var sortOrder = new[] { 20, 10, 100, 30, 40 };
            var result    = Search(parallelMultiSearcher, _query, sortOrder);

            CollectionAssert.AreEqual(sortOrder, result);

            parallelMultiSearcher.Dispose();
            indexWriter2.Dispose();
            dir2.Dispose();
        }
        public void ParallelMultiSearcher_Sort_By_Custom_Int_Comparator_Test()
        {
            var parallelMultiSearcher = new ParallelMultiSearcher(
                new Searchable[] { _searcher1, _searcher2 });

            var result = Search(parallelMultiSearcher, _query, new Sort(new SortField(IdFieldName, new MyIntComparatorSource())));

            var expected = new[] { 10, 20, 30, 40, 50 };

            CollectionAssert.AreEqual(expected, result);

            parallelMultiSearcher.Dispose();
        }
        public void ParallelMultiSearcher_Sort_By_String_Test()
        {
            var parallelMultiSearcher = new ParallelMultiSearcher(
                new Searchable[] { _searcher1, _searcher2 });

            var result = Search(parallelMultiSearcher, _query, new Sort(new SortField(NameFieldName, SortField.STRING)));

            // Anders, Andreas, Anja, Anne
            var expected = new[] { 50, 10, 40, 20, 30 };

            CollectionAssert.AreEqual(expected, result);

            parallelMultiSearcher.Dispose();
        }