4 ms·
> The hardest part of building any search engine is keeping the index up-to-date with changes made to the underlying data store. This deserves mention, as it
by cies 4y ago
> The hardest part of building any search engine is keeping the index up-to-date with changes made to the underlying data store.
This deserves mention, as it solves that problem: https://github.com/zombodb/zombodb https://github.com/zombodb/zombodb
From the README:
> ZomboDB brings powerful text-search and analytics features to Postgres by using Elasticsearch as an index type. Its comprehensive query language and SQL functions enable new and creative ways to query your relational data.
> From a technical perspective, ZomboDB is a 100% native Postgres extension that implements Postgres' Index Access Method API. As a native Postgres index type, ZomboDB allows you to CREATE INDEX ... USING zombodb on your existing Postgres tables. At that point, ZomboDB takes over and fully manages the remote Elasticsearch index and guarantees transactionally-correct text-search query results.
I find other things also hard in search engines: dealing with the plethora of human languages and all the requirements we may have to processing them. A mature solution like ES therefor is almost a must in the more demanding cases.