Projects/Full Text Search/Technical Documentation
Contents |
Full Text Search - Technical Documentation
Overview
The approach to solve this has been to use Postgres' Full Text Search engine. This being said, this will only be supported in systems that have Postgres as their database engine.
Pre-requisites
Having Postgres as database engine, apart from that, Full Text Search comes with default installation.
Technology
As said before, the technology used will be Postgres' Full Text Search
What it offers
- It allows to search for disordered patterns
- It allows to search for patterns in combinations of columns from different tables
- It allows to rank results according to a relevance rank over the similarity with the search pattern
- For the similarity rank mentioned above it allows to give different weights to different columns over which the pattern is searched
- It has language dictionaries and it allows to search by lexems. Example: it will return a result if the user searches for functionality but there is a row that has functional in it
Tasks
DBSM
- Support search_vector column type by DBSM
- The data of this column will not be exported
- Oracle is not supported, a module using this should fail in installation when installing it in a system with Oracle
- Support triggers to update the search_vector column update
- Support in AD creating the column with create columns from DB button
- The field at AD level will not be created
Hibernate
- The column is not going to be available at hibernate level
- There will be some hibernate functions that at SQL translation time will allow to filter and rank by the TSVector column