> 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 were changed
* It will be good to store shared information (such as dictionary's structure) in shared memory. For example, ispell
dicttakes for compile its files about 1-5 seconds, sharing should help
* 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
take1-3 Mb per language.
* Now database can be created with another encoding then cluster was initialized, but locale can't be changed.
Tsearch2depends on locale because of lower/upper casing and isalpha(and somr another is*). So, it's possible to get
unworkingtsearch2 configuration.
I'm going to vacation tomorrow for two week, so I havn't time to resolve
that issues before feature freeze, sorry.