2016-03-21 24 views
0

için yeniden oluşturma/update_index hakkında biraz kafam karıştı Django uygulamasından bir kayıt sildim, ardından update_index ile bir araya getirdim ve kayıt hala aranabilir durumda. Sonra rebuild_index kullandım ve tekrar aramayı çalıştırdığımda işe yaradı. Ama bilgisayarımın stuttered olup olmadığını bilmiyorum ama ne zaman benim django app için ne zaman benim tüm kayıtları gitmişti. ama panikledim tarayıcıdaki yenile düğmesine birkaç kez basıp tekrar belirdiler. Ne benDjango-Haystack

./manage.py rebuild_index 

çalıştırmak ve benim Django uygulaması için bir kayıt eklediğinizde bu

./manage.py update_index. 
yapmak benim Django uygulamasından bir kaydı silmek sonra bu mesafesindedir konusunda açık olmak istiyorum

Bu doğru sözdizimi mi? Tüm kayıtlarımı, yukarıda belirtilen komutları anlama eksikliğinden istemeden silmek istemiyorum. Dokümanlar bana tamamen açık değil.

cevap

3

Arama dizinindeki silinmiş nesneleri silmek için rebuild_index kullanmaktan kaçının.

rebuild_index komutunu çalıştırdığınızda, tüm dizin clear_index kullanılarak silinir/temizlenir ve sonra başlık altında update_index kullanılarak güncelleştirilir.

Arama dizini güncellemek için update_index10 komutunu kullanın. Silinen nesneleri silmek için, komutlara --remove argümanını geçerek eski nesneleri etkin bir şekilde silebilirsiniz.

$ python manage.py update_index --remove 

Bu komut, silinmiş nesneleri dizinden kaldıracaktır.

haystack docs/management commands

+0

update_index' tek eksik sonuçlar indeksleme 'daha @ mi? ya da her şeyi tekrar güncelledi mi? çünkü 'rebuild_index' ilk kez çalıştırdıktan sonra, update_index 'yi çalıştırdım ve toplam kayıt sayısıyla' İndeksleme # sonuçları 'gösterdi. – eLRuLL

+0

eski güncellenmiş nesneleri yeniden indekslemek ve yenilerini indekslemek içindir. Endekste bulunan nesnelerin güncel olup olmadığını kontrol eder ve sahip olmadığı verileri de ekler. – v1k45