Add text field types

We currently have field types for

  • Bigint
  • Prefix
  • Vector

We want to also support text type fields.

Prefix:

The idea behind the name was that it's the type we use for efficient prefix searches (keyword for ES/OS, and text with a b-tree index for PostgreSQL)

We want to rename this to keyword.

Text:

text field are only for fields we don't need to query/index

Changes required:

  • Updating Executor classes to handle text type (don't create an index)
  • Updating Executor classes to rename prefix to keyword and replacing existing references to prefix field.
  • Updating databases/collection_builder.rb
  • Update documentation in gems/gitlab-active-context/doc/usage.md

This issue does not handle query updates for text fields, only adding the text field type. Support for hybrid search (#517974) handles the query part.

Edited by Madelein van Niekerk