Google SoC idea: FTS support in GUI tools - Mailing list pgadmin-hackers

From Ivan Zolotukhin
Subject Google SoC idea: FTS support in GUI tools
Date
Msg-id 751e56400703220459r59509a94udbb948addd95c5ba@mail.gmail.com
Whole thread Raw
List pgadmin-hackers
Hello,

There are many users (especially novice) asking about better and
easier configuration of tsearch2, which is quite complicated
currently. Even new FTS features in 8.3 (e.g. much clearer
configuration with SQL commands) won't help much for users that want
simple "several clicks" setup of a small system with full text
indexing. Adding support of nice user-friendly FTS configuration in
popular PostgreSQL GUI administration tools would help a lot to spread
PostgreSQL among wide group of potential users. Also certain GUI
features can be helpful even for experienced users.

That is why I would like to propose idea to implement FTS
configuration functionality in GUI tools in a frame of Google SoC
2007.

Basic plan of the work is to code all interfaces and debug ideas
firstly in phpPgAdmin and then re-implement ready solutions in
pgadmin3. I consider below features as most useful and would like to
hear any comments what to change/add to this list.

- interfaces to add/modify FTS configurations, dictionaries and tokens
with their processing rules (with drop down menus to exclude typos and
other useful features)
- user-frienly visualisation of ts_debug() to simplify understanding
of what processing happened with the input text and swtiches of
configuration against which we tested the input
- FTS operators in usual phpPgAdmin table select interface
- online query rewriting (special table to store rewrite rules and
test if given rule works as expected); this is especially helpful
because does not require reindexing
- possible interface to index statistics and heuristics to understand
if its healthy (to be discussed with Oleg)
- user-friendly index creation (tsvector column + FTS index + trigger
on parent text field)
- ability to check if FTS configured properly. This includes:
  * some knowledge contained in the interface to perform tests
  * possibly several FTS core features like check if dictionary files
exist and are accessible (will be proposed before 8.3 feature freeze,
to be discussed with Oleg)
  * ability to reset configuration and re-parse all dictionary files
- all user actions should generate on demand valid SQL suitable for
copy-paste into other clients
- possibly implement simple PHP interface for text searches with
themes support to simplify building of FTS-enabled web-interfaces
("just copypaste this PHP code and one line of HTML form code to your
site and switch on FTS on given table in phpPgAdmin")

Open questions:
- what to change/add to this list?
- should we support old tsearch2 configuration for backward
compatibilty with versions prior to 8.3? This seriously increases
amount of work to be done.
- should we analyze FTS configuration experience and interfaces
existing in $$$ databases?

One of the advantage of this work would be independance from
PostgreSQL 8.3 release that does not fit into SoC schedule. It means
that one does not need to wait till next PostgreSQL release since SoC
results can be released just after it finishes with nearest phpPgAdmin
release.

Any feedback is welcome.


Best regards,
Ivan Zolotukhin

pgadmin-hackers by date:

Previous
From: Dave Page
Date:
Subject: Re: bug report about tips
Next
From: Dave Page
Date:
Subject: Re: Google SoC idea: FTS support in GUI tools