如何删除旧的 Hibernate 搜索索引

发布于 2024-10-27 17:43:57 字数 516 浏览 3 评论 0原文

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

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

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

I use Hibernate search for full text search in my web application. I have button for index creation in admin panel. I do it by this code:

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

If index was build correctly and then I push this button again old index files still on disk and program creates new index. And so on. Can you help me remove old index files before creating new?

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

携余温的黄昏 2024-11-03 17:43:57

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

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

I do a similar thing but only when I shut my app down do I remove the indexes and then I set them up again on startup.

Have you tried calling purgeAll() instead of purgeAllOnStart()? That is what I call on app shutdown and it works. To be safe, after I purge the indexes I actually delete my index directory and all files / folders it contains from disk as well.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文