How to add documents to Lucene.Net.Linq?

The Lucene.Net.Linq project seems pretty powerful, and while the query looks pretty simple, I'm not quite sure how to add / update documents. Can you provide an example or two?

+4
source share
1 answer

There are several examples in the test project: https://github.com/themotleyfool/Lucene.Net.Linq/tree/master/source/Lucene.Net.Linq.Tests/Samples .

After setting up the mappings and initializing your provider, you make updates by opening a session:

var directory = new RAMDirectory();

var provider = new LuceneDataProvider(directory, Version.LUCENE_30);

using (var session = provider.OpenSession<Article>())
{
    session.Add(new Article {Author = "John Doe", BodyText = "some body text", PublishDate = DateTimeOffset.UtcNow});
}

. , , :

using (var session = provider.OpenSession<Article>())
{
    var item = session.Query().Single(i => i.Id == someId);
    item.Name = "updated";
}

:

using (var session = provider.OpenSession<Article>())
{
    var item = session.Query().Single(i => i.Id == someId);
    session.Delete(item);
}

, . , , , .

+7

All Articles