使用 SolrJ 删除整个索引

Delete an entire index with SolrJ

我正在使用 SolrJ 为我网站上的文章编制索引。我会定期清除整个索引并对所有文章重新编制索引。

每个条目的 ID 都与文章的 ID 相关联(类似于 [博客 ID]-[文章 ID])。我知道 SolrJ 有一个 deleteById() 方法,但是如果从我的站点中删除了一篇文章,我可能无法在 Java 端访问其 ID,因此我无法可靠地遍历所有文章并调用 deleteById ().有什么方法可以使用 SolrJ 删除整个索引吗?

使用

server.deleteByQuery( "*:*" );

然后

server.commit()

应该先查询删除,做全索引,然后commit,这样旧索引一直保留到新索引commit。