Выкатил поебень, которую всегда хотел сделать: http://price.duck.consulting/q/iPhone_X
Выбора категорий пока нету, городов нету, нихуя нету, доделаю когда-нибудь потом (может быть).
Если искать что-нибудь более редкое — http://price.duck.consulting/q/nokia_n900 — то на графике будет ебаный провал посередине. Потому что недомигрировалося. Прикручивать fts-индекс с кастомным ранжированием — чтобы показывал сначала айфоны, а потом уже чехлы и прочие «на запчасти» — оказалось сложнее, чем я думал, а мигрировать данные на базе в 250 гигабайт, которая вертится на сраной блиннице — гораздо больнее, чем мне представлялось. Но миграция по-тихоньку идет, через неделю авось этого провала не будет. Начинаю думать о сфинксах и прочих системах вида «специализированный костыль сбоку».
Собирать 2000 постгресовых туплов по всей базе в 250 гигабайт на той же сраной блиннице — это, как оказалось, тоже не очень быстро. Можете попробовать подосить, но досится оно скучно: тормозит только на часто употреблямых словах, коих сотня наберется, после чего буферы оказываются подогретыми, и на второй запрос отвечает уже моментально. Кеш не прикручивал, все по чесноку. На редкоупоминаемые или несуществующие слова вообще моментально отвечает.