Bruce Momjian wrote:
I an attempt to communicate what full text search does, and what
features we are thinking of adding/removing, I have put up the
introduction in HTML:
Very good idea, Bruce!
After reading the discussion and the introduction, here is what I think
tsearch in core should at least accomplish in 8.3. Please bear in mind,
that (a) I am talking from a user perspective (there might be technical
arguments against my thoughts) and (b) I have no hands-on experience
with Tsearch2 yet, so more experienced users might have different needs.
- Basic full text search usable for non-superusers
- Out-of-the-box working configuration for as many languages as
reasonable (Teodor named quite a number of languages working as-is,
so this is really an improvement over contrib, great!)
- No foot-guns accessible to non-superuser
- Agreement on function names, perhaps some should be changed. For
instance to_tsquery() and plainto_tsquery() seem rather unintuitive
because they don't have a common prefix, and they are not consistent
about using underscores. Perhaps to_tsquery() and to_tsquery_plain()?
- Future compatibility for all features available to non-superusers
- Stop words in tables, not in external files.
- At least for superusers, all features available in contrib now,
should be available, too (don't know about pg_dump).
What I don't really like is the number of commands introduced without
any strong reference to full text search. E.g. CREATE CONFIGURATION
gives no hint at all that this is about full text search. IMHO there are
more configurations than just full text ones. :-) So perhaps better
spell this CREATE FULLTEXT CONFIGURATION etc.? (Think about tab
completion in psql, for instance.)
I guess this is in line with what Tom said about mapping objects and
CREATE ATTRIBUTE vs. CREATE/ALTER CONFIGURATION.
After all, I would really welcome having full text search capabilities
---------------------------(end of broadcast)---------------------------
TIP 9: In versions below 8.0, the planner will ignore your desire to
choose an index scan if your joining column's datatypes do not