NHibernate.Search ContainedIn属性做什么?

时间:2010-02-28 19:45:33

标签: nhibernate lucene lucene.net nhibernate.search

它与IndexedEmbedded的区别?

P.S。什么是关于NHibernate.Search的最佳信息来源?

1 个答案:

答案 0 :(得分:1)

  1. 答案
  2. ContainedInAttribute与IndexedEmbeddedAttribute结合使用。 ContainedInAttribute用作一种标记,指向使用和IndexedEmbeddedAttribute的类。这告诉NHibernate.Search当你更新那个类时,你想要更新父文件的全文索引。当您更新拥有类的子级并且您希望更新所有者的索引时,这很好。

    下面的

    是如何使用它的一个例子。

    [Indexed]
    class Parent
    {
         [IndexedEmbeded]
         public Child SomeChild { get; set; }
    }
    
    class Child
    {
         [ContainedIn]
         public Parent MyParent { get; set; }
    }
    

    注意:如果您指向未使用IndexEmbeded属性的拥有父级,则ContainedIn属性将无用。

    1. 答案
    2. 文档信息来自hibernate搜索,但这里的大多数内容也适用于NHibernate.Search。

      http://docs.jboss.org/hibernate/stable/search/reference/en/html/

      http://docs.jboss.org/hibernate/stable/search/reference/en/html_single/