public async Task TestUpsertDocument_Value_Replace()
        {
            var actual   = new LuceneContext(new RAMDirectory(), new StandardAnalyzer(LuceneVersion.LUCENE_48));
            var document = new Document();

            document.AddStringField("key", "value", Field.Store.YES);
            document.AddStringField("key2", "other value", Field.Store.YES);
            actual.AddDocument(document);
            actual.CommitWriter();

            var replacementDocument = new Document();

            replacementDocument.AddStringField("key", "value", Field.Store.YES);
            replacementDocument.AddStringField("key2", "yet another value", Field.Store.YES);
            actual.UpsertDocument("key", replacementDocument);
            actual.CommitWriter();

            var query   = actual.GetQuery(new[] { "key" }, "value");
            var results = await actual.ExecQueryAsync(query);

            Assert.AreEqual(1, results.TotalHits);
            var doc = await actual.GetDocumentByIdAsync(results.ScoreDocs.First().Doc);

            Assert.AreEqual(2, doc.Fields.Count);
            Assert.AreEqual("value", doc.GetField("key").GetStringValue());
            Assert.AreEqual("yet another value", doc.GetField("key2").GetStringValue());
        }
        public void TestMaxResults()
        {
            var actual = new LuceneContext(new RAMDirectory(), new StandardAnalyzer(LuceneVersion.LUCENE_48));

            Assert.AreEqual(50, actual.MaxResults);
            actual.MaxResults = 25;
            Assert.AreEqual(25, actual.MaxResults);
        }