Как удалить старый поисковый индекс Hibernate - PullRequest
3 голосов
/ 28 марта 2011

Я использую поиск Hibernate для полнотекстового поиска в моем веб-приложении. У меня есть кнопка для создания индекса в админ-панели. Я делаю это по этому коду:

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

Если индекс был построен правильно, а затем я снова нажимаю эту кнопку, старые файлы индекса все еще находятся на диске, и программа создает новый индекс. И так далее. Можете ли вы помочь мне удалить старые индексные файлы перед созданием новых?

1 Ответ

4 голосов
/ 27 августа 2011

Я делаю то же самое, но только когда я закрываю свое приложение, я удаляю индексы, а затем снова настраиваю их при запуске.

Вы пытались вызвать purgeAll () вместо purgeAllOnStart ()? Это то, что я называю при закрытии приложения, и оно работает. На всякий случай, после очистки индексов я фактически удаляю свою директорию индексов и все файлы / папки, которые она содержит, также с диска.

...