How-to: Index title fields

Last updated on
30 April 2025

As you might have noticed, basic node title fields (the ones you get for free when creating a new content type) don't show up when trying to create a new FTS index. Is that a bug?

No. It's a feature.

Okay, the less lame explanation is: it is not a bug in the module, it is by design in Drupal core.

As you know the PostgreSQL FTS module uses the Field API to extract all the needed information (field values, deltas, CRUD events, ...). This means that a field you wish to index has to adhere to Drupal's own core Field API. And believe it or not, the Title field doesn't. It is a "fake" field coded into the Node module and doesn't use Drupal's own Field API at all.

There are lengthy discussions on Drupal.org to why this is and the fact that it is very annoying for developers, yet it seems that the situation is not going to change any time soon. It was first noticed by the i18n development team (the folks who started on of those discussions) as they ran up against a wall when trying to write a translation management system for Drupal. All fields using the Field API could be made translatable ... except that darn Title field.

Does this mean that all my titles will be unavailable for indexing?

No! Thanks to that same i18n team, there is a decent workaround: convert the core title hack into a true Field API field using the Title module. Steps to follow:

  1. Download and enable the Title module
  2. Go to your desired content type
  3. On the "Manage fields" tab click on "Replace" to replace your Title field with a true Field API field

Now when you try to create a new FTS index you will see that your Title field will show up and is available for FTS processing!

Help improve this page

Page status: Not set

You can: