beta, at least get this stuff in.
ftipatch.txt - Updates to docs and scripts. Run in the fulltextindexdir
WARNING - Add to fulltextindex dir
uninstall.sql - Add to fulltextindex dir
Now, how do we create the trigger that maintains the fti-table? First: the
fti-table should have the following schema:
- create cds-fti ( string varchar(N), id oid );
+ create cds-fti ( string varchar(N), id oid ) without oids;
Don't change the *names* of the columns, the varchar() can in fact also
be of text-type. If you do use varchar, make sure the largest possible
--- /dev/null
+WARNING
+-------
+
+This implementation of full text indexing is very slow and inefficient. It is
+STRONGLY recommended that you switch to using contrib/tsearch which offers these
+features:
+
+Advantages
+----------
+* Actively developed and improved
+* Tight integration with OpenFTS (openfts.sourceforge.net)
+* Orders of magnitude faster (eg. 300 times faster for two keyword search)
+* No extra tables or multi-way joins required
+* Select syntax allows easy 'and'ing, 'or'ing and 'not'ing of keywords
+* Built-in stemmer with customisable dictionaries (ie. searching for 'jellies' will find 'jelly')
+* Stop words automatically ignored
+* Supports non-C locales
+
+Disadvantages
+-------------
+* Only indexes full words - substring searches on words won't work.
+ eg. Searching for 'burg' won't find 'burger'
+
+Due to the deficiencies in this module, it is quite likely that it will be removed from the standard PostgreSQL distribution in the future.
+
* '/usr/local/pgsql/lib/contrib/fti.so' language 'C';
*
* -- Create the FTI table
- * create table product_fti (string varchar(255), id oid);
+ * create table product_fti (string varchar(255), id oid) without oids;
*
* -- Create an index to assist string matches
* create index product_fti_string_idx on product_fti (string);
-create function fti() returns trigger as
- 'MODULE_PATHNAME'
- language 'C';
\ No newline at end of file
+CREATE OR REPLACE FUNCTION fti() RETURNS trigger AS
+ 'MODULE_PATHNAME', 'fti'
+ LANGUAGE 'C' VOLATILE CALLED ON NULL INPUT;
--- /dev/null
+DROP FUNCTION fti() CASCADE;