2010-01-21 49 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