Поиск через дочерние объекты nhibernate search? - PullRequest
0 голосов
/ 09 июня 2011

У меня такие отношения

Поставщик -> имеет много продуктов

Оба Поставщика проиндексированы и продукты проиндексированы. Мне нужно (босс хочет) поискать как по поставщику, так и по всем продуктам поставщиков и перечислить получающихся поставщиков.

Возможно ли это в nhibernate.search/Lucene.NET??

1 Ответ

2 голосов
/ 09 июня 2011

Да, это возможно: http://ayende.com/blog/3992/nhibernate-search

См. Приведенный пример, атрибут IndexEmbedded означает, что «дочерний» объект или коллекция также будут проиндексированы:

[Indexed]
public class Post
{
    [DocumentId]
    public virtual int Id { get; set; }

    [IndexedEmbedded]
    public virtual Blog Blog { get; set; }

    [IndexedEmbedded]
    public virtual User User { get; set; }

    [Field(Index.Tokenized, Store = Store.Yes)]
    public virtual string Title { get; set; }

    [Field(Index.Tokenized)]
    public virtual string Text { get; set; }

    public virtual DateTime PostedAt { get; set; }

    public virtual ISet<Comment> Comments { get; set; }

    [IndexedEmbedded]
    public virtual ISet<Category> Categories { get; set; }

    [IndexedEmbedded]
    public virtual ISet<Tag> Tags { get; set; }
}
...