If you want full text search, and you are running PostgreSQL, install this module to support FTS. Do this step after you have installed both PostgreSQL and AOLserver. You will need the tseach2 module form PostgreSQL contrib. This is included with the PostgreSQL full source distribution. It is also available with the PostgreSQL contrib package provided by most distribution packages. On debian it is called postgresql-contrib.
For PostgreSQL 7.3 or 7.4, download the http://www.sai.msu.su/~megera/postgres/gist/tsearch/V2/regprocedure_7.4.patch.gz tsearch2 patch to correctly restore from a pg_dump backup. If you installed tsearch2 from a package, you can use the http://www.sai.msu.su/~megera/postgres/gist/tsearch/V2/regprocedure_update.sql regprocedure script to update the database after tsearch2 is installed into it. TODO link to section describing how to fix an existing tsearch2 database with this patch.
As of May 9, 2004 there is a source patch available for tsearch2. The patch provides changes to the pg_ts_ configuration tables to allow for easy dump and restore of a database containing tsearch2. The patch is available here : [http://www.sai.msu.su/~megera/postgres/gist/tsearch/V2/regprocedure_7.4.patch.gz]
To apply this patch, download the mentioned file and place it in your postgreSQL source tree ($PGSQL_SRC). This patch makes the backup and restore procedures very simple.
[postgres pgsql]$cd /tmp
[postgres tmp]$wget http://www.sai.msu.su/~megera/postgres/gist/tsearch/V2/regprocedure_7.4.patch.gz
[postgres pgsql]$cd /usr/local/src/postgresql-7.4.5/
[postgres postgresql-7.4.5]gunzip /tmp/regprocedure_7.4.patch.gz
[postgres postgresql-7.4.5]patch -b -p1 < regprocedure_7.4.patch
If you have a working version of tsearch2 in your database, you do not need to re-install the tsearch2 module. Just apply the patch and run make. This patch only affects the tsearch2.sql file. You can run the SQL script found : [right here] This script will make the modifications found in the patch, and update the fields from the existing data. From this point on, you can dump and restore the database in a normal fashion. Without this patch, you must follow the instructions later in this document for backup and restore.
This patch is only needed for tsearch2 in PostgreSQL versions 7.3.x and 7.4.x. The patch has been applied to the sources for 8.0.
Install Tsearch2. This is a PostgreSQL module that the tsearch2-driver OpenACS package requires. These instructions assume you are using the latest point release of PostgreSQL 7.4.5.
[root root]#su - postgres
[postgres pgsql]$cd /usr/local/src/postgresql-7.4.5/contrib/tsearch2/
[postgres tsearch2]$make
[postgres tsearch2]$make install
mkdir /usr/local/pgsql/share/contrib mkdir /usr/local/pgsql/doc/contrib (2 lines omitted) /bin/sh ../../config/install-sh -c -m 755 libtsearch.so.0.0 /usr/local/pgsql/lib/tsearch.so [postgres tsearch]$exit
logout [root root]# su - postgres cd /usr/local/src/postgresql-7.4.5/contrib/tsearch2 make make install exit
Click Admin
on the top of the default home page. If prompted, log in with the account and password you entered during install.
Click on the Install
software
link.
Click on the Install
new service
link.
Click on the
Install
link next to Tsearch2 Driver. If you have installed tsearch2
into your PostgreSQL database, the installer will
automatically enable tsearch in your OpenACS database instance.
Restart the service.
[$OPENACS_SERVICE_NAME $OPENACS_SERVICE_NAME]$ svc -t /service/$OPENACS_SERVICE_NAME
[$OPENACS_SERVICE_NAME $OPENACS_SERVICE_NAME]$
Wait a minute, then browse back to the home page.
Click on Admin
on the top of the screen.
Click on Main Site Administration
in the "Subsite Administration" section.
Click on Site Map
in the "Advanced Features" section.
Mount the Search interface in the site map.
Click the
new sub folder
link on the
Main Site line.
Type search
and click .
Click the new
application
link on the search
line.
Type search
where it says
untitled
, choose
search
from the
drop-down list, and click
.
Click the
Parameters
link
next to the Search package istance.
Type tsearch2-driver
where it says
openfts-driver
in the
FtsEngineDriver
parameter.
Restart the service.
[$OPENACS_SERVICE_NAME $OPENACS_SERVICE_NAME]$ svc -t /service/$OPENACS_SERVICE_NAME
[$OPENACS_SERVICE_NAME $OPENACS_SERVICE_NAME]$
Wait a minute, then click on Main Site
at the top of the page.
Enabling Full Text Search in packages at the moment is not trivial. It involves a couple of steps, which I will illustrate taking lars-blogger as an example package
Install the package.
Click Admin
on the top of the default home page. If prompted, log in with the account and password you entered during install.
Click on the Install
software
link.
Click on the Install
new application
link.
Click on the Install
link next to Weblogger.
Install all required packages as well (always say okay until you shall restart the server)
Load the service contracts datamodell and enable the service contract
[$OPENACS_SERVICE_NAME $OPENACS_SERVICE_NAME]$ cd packages/lars-blogger/sql/postgresql
[$OPENACS_SERVICE_NAME postgresql]$ psql $OPENACS_SERVICE_NAME -f lars-blogger-sc-create.sql
Note: Usually this script is called package_name-sc-create.sql
Restart the service.
[$OPENACS_SERVICE_NAME postgresql]$ svc -t /service/$OPENACS_SERVICE_NAME
[$OPENACS_SERVICE_NAME postgresl]$
If you are lucky, Full Text Search is enabled now, if not consult http://openacs.org/forums/message-view?message_id=154759. This link also contains some hints on how to make sure it is enabled.