An inconsistency in the documentation about full text search

From: Erki Eessaar <erki(dot)eessaar(at)taltech(dot)ee>
To: "pgsql-docs(at)lists(dot)postgresql(dot)org" <pgsql-docs(at)lists(dot)postgresql(dot)org>
Subject: An inconsistency in the documentation about full text search
Date: 2023-11-07 10:12:21
Message-ID: AM9PR01MB826802130AD5EEC6BBF5FC9AFEA9A@AM9PR01MB8268.eurprd01.prod.exchangelabs.com
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-docs

Hello

I write about the documentation of full-text search.

Section

12.2.2. Creating Indexes
https://www.postgresql.org/docs/current/textsearch-tables.html#TEXTSEARCH-TABLES-INDEX

wrtites the following: "Another approach is to create a separate tsvector column to hold the output of to_tsvector. To keep this column automatically up to date with its source data, use a stored generated column. This example is a concatenation of title and body, using coalesce to ensure that one field will still be indexed when the other is NULL"

Section

12.4.3. Triggers for Automatic Updates
https://www.postgresql.org/docs/current/textsearch-features.html#TEXTSEARCH-UPDATE-TRIGGERS

writes the following: "When using a separate column to store the tsvector representation of your documents, it is necessary to create a trigger to update the tsvector column when the document content columns change. Two built-in trigger functions are available for this, or you can write your own."

Thus, one part of the documentation states that one should use the generated column-based approach and another part states that one should use the trigger-based approach to keep the values in a tsvector column up-to-date. If these solutions are both appropriate, then the documentation should state this.

Perhaps something like that?

"Another approach is to create a separate tsvector column to hold the output of to_tsvector. It is possible to use a stored generated column to keep this column automatically up to date with its source data. This example is a concatenation of title and body, using coalesce to ensure that one field will still be indexed when the other is NULL"

writes the following: "When using a separate column to store the tsvector representation of your documents the column has to be kept up to date with its source data. It is possible to create a trigger to update the tsvector column when the document content columns change. Two built-in trigger functions are available for this, or you can write your own."

Best regards
Erki Eessaar

Responses

Browse pgsql-docs by date

  From Date Subject
Next Message PG Doc comments form 2023-11-07 12:53:39 Example for Unique Partial Indexes
Previous Message Laurenz Albe 2023-11-06 20:53:50 Re: Version 14/15 documentation Section "Alter Default Privileges"