When LIKE Search Hits Its Limits
Any business system that has been running for a while eventually gets the same complaint: "I searched and nothing came up." On day one, `WHERE name LIKE '%keyword%'` seemed good enough. As data grows, the cracks show.
Users don't know why. They conclude the record doesn't exist, register a duplicate, and data quality slowly degrades.
Splitting the Work Between the Database and a Search Engine
Not every search belongs in a search engine. The first step is deciding which kind of query goes where.
PostgreSQL Full-Text Search vs. OpenSearch/Elasticsearch
PostgreSQL's built-in full-text search has no Korean morphological analysis. Still, n-gram extensions like `pg_trgm` or `pg_bigm` with a GIN index can dramatically speed up partial matching. Because Korean has so many two-character words, the bigram-based `pg_bigm` is often the better fit. If you're searching a few hundred thousand records and can't add infrastructure, this is a practical choice.
If you need morphological analysis, synonyms, typo tolerance, relevance ranking, or search inside attachments, OpenSearch or Elasticsearch is the right tool. Just weigh that against one more cluster to operate and one more sync pipeline to maintain.
The Core of Korean Search Quality
Combine a Morphological Analyzer with N-grams
Nori, the Korean analyzer for Elasticsearch and OpenSearch, splits "설비점검일지" (equipment inspection log) into "equipment / inspection / log," so a partial term still finds it. But new coinages and item names mixed with part numbers can get split wrong. A common pattern is to index the same field twice, once with the morphological analyzer and once with n-grams, and boost morphological matches in scoring.
Maintain User and Synonym Dictionaries
Search quality is largely decided by dictionary upkeep.
A synonym list is never finished. Give business users an admin screen to request additions, and set a regular process for applying them.
Keeping the Index in Sync with the Source Database
Once a search engine is in place, a new complaint appears: "I just created it, and search can't find it."
Permissions and Search Results
Search is where permission incidents often happen, because data hidden from list screens quietly shows up in search results.
Measuring and Improving Search Quality
Search improvement starts after launch.
Improving Search with POLYGLOTSOFT
POLYGLOTSOFT assesses search in ERP, MES, WMS, and other business systems, and designs the right architecture for your data volume, from PostgreSQL n-gram tuning to Korean full-text search on OpenSearch. We build CDC sync, permission filtering, attachment indexing, synonym management screens, and search analytics dashboards. After launch, our SM (maintenance) plans keep dictionaries current and quality metrics on track. If "search doesn't work" keeps coming up, get in touch with us.
