<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom"><channel><title>Search on Kuldeep Pisda</title><link>https://kdpisda.in/tag/search/</link><description>Recent content in Search on Kuldeep Pisda</description><generator>Hugo</generator><language>en-us</language><lastBuildDate>Tue, 21 Apr 2026 10:00:00 +0530</lastBuildDate><atom:link href="https://kdpisda.in/tag/search/index.xml" rel="self" type="application/rss+xml"/><item><title>Taming Elasticsearch Reindex Storms in Django</title><link>https://kdpisda.in/taming-elasticsearch-reindex-storms-django/</link><pubDate>Tue, 21 Apr 2026 10:00:00 +0530</pubDate><guid>https://kdpisda.in/taming-elasticsearch-reindex-storms-django/</guid><description>&lt;p&gt;The first time I saw it, a founder saved their startup profile and Elasticsearch fell over.&lt;/p&gt;
&lt;p&gt;Not literally — but close enough that the web request timed out and the search index spent the next several minutes catching up. One &lt;code&gt;save()&lt;/code&gt; in Django had quietly fanned out into thousands of individual index operations. I&amp;rsquo;d wired the search layer up the textbook way, the way every &lt;code&gt;django-elasticsearch-dsl&lt;/code&gt; tutorial shows you, and it worked beautifully right up until the data model got interesting. This is the story of how I stopped reindexing per record and started reindexing in batches — and the pitfalls that pattern hides.&lt;/p&gt;</description></item></channel></rss>