【问题标题】:NHibernate.Search Index RebuildNHibernate.Search 索引重建
【发布时间】:2010-01-21 16:57:36
【问题描述】:

如何使用 NHibernate.Search 重建 Lucene.NET 索引?

谢谢。

【问题讨论】:

    标签: nhibernate lucene.net nhibernate.search


    【解决方案1】:

    IFullTextSearchSession 有一个 Index 方法,它将强制和索引实体。因此,您只需要检索所有对象,然后对它们调用 index。

    【讨论】:

      【解决方案2】:

      这是一个例子:

          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();
                      }
      
                  }
              }
      

      【讨论】:

      • 我只是在一个单独的位置建立一个索引,然后删除并复制现有的索引以最大限度地减少“停机时间”。
      • 我发现 search.PurgeAll(type) 也适合我的需要 :-)
      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2011-02-03
      • 2014-04-06
      • 1970-01-01
      相关资源
      最近更新 更多