crystal
crystal copied to clipboard
Add `tsvector` codec to the registry
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
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!