2010-01-21 55 views

回答

3

IFullTextSearchSession有一个索引方法,用于强制实体和索引实体。所以你只需要检索所有的对象,然后调用它们的索引。

1

下面是一个例子:

public void Index(List<object> entities, ISession s) 
    { 
     using (var search = NHibernate.Search.Search.CreateFullTextSession(s)) 
     { 
      foreach (var entity in entities) 
      { 
       using (var tx = s.BeginTransaction()) 
       { 
        search.Index(entity); 
        tx.Commit(); 
       } 

      } 
     } 
+0

关于第一清除指数是什么?如何做到这一点? – Bertvan 2014-10-20 19:58:12

+0

我只是在一个单独的位置创建索引,然后删除并复制现有索引以最大限度地减少“停机时间”。 – 2014-10-21 21:27:10

+0

我发现'search.PurgeAll(type)'也适合我的需要:-) – Bertvan 2014-10-22 07:10:34