Contents
SeSQL may work with later versions of those software, but was not tested with them.
SeSQL is a standard Django application. Just drop it in the apps/ directory, and add it to enabled applications into settings.py .
Before using SeSQL you must configure it. The configuration file must be named sesql_config.py in the python path (usually the project).
For a summary of how to quickly configure SeSQL, please refer to the tutorial. This document contains a detailed list of all recognized options.
Since version 0.10, SeSQL can work with non-django ORM. See sqlalchemy.txt for more informations about it.
PostgreSQL's full text search is based on the concept of text search configuration (TSC). Those configuration are detailed on the PostgreSQL manual, and allow to control things like stopwords. SeSQL requires a default TSC, and can support additional TSCs to be used on specific indexes.
SeSQL recognizes the following options related to text search configuration :
LC_ALL=fr_FR.UTF-8 iconv -f utf-8 -t ascii//TRANSLIT \ /usr/share/postgresql/8.4/tsearch_data/french.stop > \ /usr/share/postgresql/8.4/tsearch_data/ascii_french.stop
ADDITIONAL_TS_CONFIG
This should be a list of SQL statements, to define extra TSCs that can be used in specific fields.
If set to True, all indexing will be forwarded to the daemon for asynchronous indexing. Locking will then not be used in indexation. This is recommended behavior if you have frequent changes in your database, and can tolerate a few minutes of delay between modification of the database and the results being reflected in SeSQL.
This is only supported with Django ORM for now.
Current version of SeSQL has a few constraints :
If you need to rebuild all SeSQL indexes (because you changed them too heavily for example) you can do :
./manage.py createsesqltables | ./manage.py dbshell ./manage.py sesqlreindex