What breaks retrieval quality on Vietnamese documents
A retrieval stack tuned on English corpora tends to lose noticeable recall the first time it meets a Vietnamese document set. The causes are mundane.
Normalise diacritics once, at ingestion
The same word appears with composed and decomposed Unicode forms depending on which editor produced the file. Normalise to a single form before embedding and before indexing keywords, or the two forms become two different tokens.
Vietnamese words are not whitespace-delimited concepts
Keyword search that splits on spaces treats "cơ sở dữ liệu" as three unrelated tokens. A segmenter, or a bigram index alongside the unigram one, recovers most of that loss for BM25. The vector side is less sensitive but still benefits.
Expect mixed-language documents
Internal documentation is rarely monolingual — Vietnamese prose with English product names, error strings and code identifiers. A multilingual embedding model that places both languages in one vector space avoids maintaining a separate index per language and lets an English question retrieve a Vietnamese passage.
Keep the query in the user's language
Translating the question before retrieval loses named entities and adds a failure point. If your embedding model is genuinely multilingual, retrieve in the language asked and let the generation step handle the language of the reply.