tsearch2 is functionality that definitely should be in core eventually,
but even Oleg still says it's not done. Aside from the documentation
issue, it's not clear that we've got a stable API for it.
Issues/TODO to move tsearch2 into core (by fast look)
* memory management. Dictionaries and tsearch2 itself cache a lot
of data in memory allocated by malloc/palloc(TopContext) and
not all can be correctly freed by reset_tsearch() function.
* tsearch2 doesn't automatically reinit dictionary/configuration
after configuration changes
* Also, dictionary doesn't automatically recompile its files if they
* It will be good to store shared information (such as
dictionary's structure) in shared memory. For example,
ispell dict takes for compile its files about 1-5 seconds, sharing
* I suppose, at least snowball stemmers should be compiled in
postgresql or compiled them into separate *.so libs. Sources
of all snowball's files take ~1Mb on disk. The goal is easier
configuration for end-user. Ispell dict's files take 1-3 Mb per
* Now database can be created with another encoding then cluster was
initialized, but locale can't be changed. Tsearch2 depends on locale
because of lower/upper casing and isalpha(and somr another is*). So,
it's possible to get unworking tsearch2 configuration.
I'm going to vacation tomorrow for two week, so I havn't time to resolve
that issues before feature freeze, sorry.
---------------------------(end of broadcast)---------------------------
TIP 3: Have you checked our extensive FAQ?