How can I make fulltext search accent insensitive?
I would like to have the same search result when I type either 'Hôtel' or 'Hotel'.
This can be achieved easily if you are using PostgreSQL 9.0 and above through the unaccent contribution (http://www.postgresql.org/docs/9.0/static/unaccent.html).
Install the unaccent contribution by running the
unaccent.sql script. For Ubuntu users, this file is located at
Connect to your database and run the following instructions:
CREATE TEXT SEARCH CONFIGURATION fr ( COPY = french );
ALTER TEXT SEARCH CONFIGURATION fr
ALTER MAPPING FOR asciihword, asciiword, hword_asciipart, hword, hword_part, word
WITH unaccent, french_stem;
Then replace in your
default-repository-config.xml file the
french analyzer by the one you just defined (
fr in this example).
If using Postgres 8.4, you can find in the documentation the instructions to build the unaccent module: http://doc.nuxeo.com/display/ADMINDOC/Configuring+PostgreSQL#ConfiguringPostgreSQL-Accentinsensitivefulltextsearch