crystal icon indicating copy to clipboard operation
crystal copied to clipboard

Add `tsvector` codec to the registry

Open roland-pep opened this issue 11 months ago • 1 comments

Feature description

Grafast currently lacks support for a built-in tsvector codec, which is essential for implementing full-text search functionalities within PostgreSQL databases.

Motivating example

Full-text search capabilities are essential for applications dealing with large volumes of text data, requiring efficient and flexible search functionalities. This feature could also encourage the adoption of Grafast/PostGraphile in projects where advanced search capabilities are a requirement.

Breaking changes

This feature is not expected to introduce breaking changes.

Supporting development

I :

  • [ ] am interested in building this feature myself
  • [x] am interested in collaborating on building this feature
  • [x] am willing to help testing this feature before it's released
  • [ ] am willing to write a test-driven test suite for this feature (before it exists)
  • [ ] am a Graphile sponsor ❤️
  • [ ] have an active support or consultancy contract with Graphile

roland-pep avatar Mar 22 '24 19:03 roland-pep

I use FTS a lot so definitely see value in tsvector/tsquery. Please check out https://github.com/graphile/crystal/blob/main/graphile-build/graphile-build-pg/src/plugins/PgLtreePlugin.ts (from https://github.com/graphile/crystal/pull/1949) for an example of adding a codec via the plugin system. If you don't need to represent the tsvector in the GraphQL schema (why would you?) then you can even skip the schema hooks section and stick to just using the gather hooks.

Let me know how you get on!

benjie avatar May 09 '24 14:05 benjie