我正在使用Nhibernate Search来索引数据库的表。我已编制索引的模型未存储。
[Indexed]
public class Post
{
[DocumentId]
public Guid Id { get; set; }
[Field(Index=Index.UnTokenized, Store=Store.No)
public string Title { get; set; }
[Field(Index=Index.Tokenized, Store=Store.No)
public string Description { get; set; }
[Field(Index=Index.UnTokenized, Store=Store.No)
public bool Discontinued { get; set; }
}
由于我已编入索引,我只想获取文档ID,以便在获取ID之后,我可以访问数据库以获取这些结果。
无论我在寻找一个例子,我都会发现Nhibernate.Search会话总是使用Nhibernate会话来直接从数据库中获取数据。
using (var s = sf.OpenSession())
using(var search = Search.CreateFullTextSession(s))
using (var tx = s.BeginTransaction())
{
var list = search.CreateFullTextQuery<Post>("Tags.Name:Hello")
.SetMaxResults(5)
.List<Post>();
foreach (var post in list)
{
Console.WriteLine(post.Title);
}
tx.Commit();
}
我不能使用Nhibernate.Search只读取索引并给我ID吗?
请帮忙。