4

我在我的 Web 应用程序中使用 Hibernate 搜索进行全文搜索。我在管理面板中有用于创建索引的按钮。我通过以下代码做到这一点:

                fullTextSession.createIndexer()
                .purgeAllOnStart(true)
                .optimizeAfterPurge(true)
                .optimizeOnFinish(true)
                .batchSizeToLoadObjects( 25 )
                .threadsToLoadObjects( 5 )
                .threadsForSubsequentFetching( 20 )
                .startAndWait();

如果索引构建正确,然后我再次按下此按钮,旧索引文件仍在磁盘上,程序创建新索引。等等。你能帮我在创建新的索引文件之前删除旧的索引文件吗?

4

1 回答 1

4

我做了类似的事情,但只有当我关闭我的应用程序时,我才会删除索引,然后在启动时再次设置它们。

您是否尝试过调用 purgeAll() 而不是 purgeAllOnStart()?这就是我在应用程序关闭时所说的,它可以工作。为了安全起见,在清除索引后,我实际上也从磁盘中删除了我的索引目录及其包含的所有文件/文件夹。

于 2011-08-26T22:04:00.530 回答