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 dict takes 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 take 1-3 Mb per
  language.
* 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?

              http://www.postgresql.org/docs/faq

Reply via email to