2016-01-26 2 views
0

Я использую SolrJ для индексации статей на своем сайте. Периодически я хочу очистить весь индекс и сделать новый реиндекс всех статей.Удалить весь индекс с помощью SolrJ

Идентификатор каждой записи привязан к идентификатору статьи (что-то похожее на [идентификатор блога] - [идентификатор статьи]). Я знаю, что SolrJ имеет метод deleteById(), но если статья удалена с моего сайта, я могу потерять доступ к ее идентификатору на стороне Java, поэтому я не могу надежно перебирать все статьи и вызывать deleteById(). Есть ли способ сбросить весь индекс с помощью SolrJ?

ответ

3

Использование

server.deleteByQuery("*:*"); 

Тогда

server.commit() 

Вы должны сначала удалить с помощью запроса, сделать полный индекс, а затем совершить, так что старый индекс остается пока новый не будет совершено.

+0

Это сделало трюк! Спасибо! Я также ценю совет о совершении, не понимаю, что вы можете использовать его таким образом. – NonsenseSynapse