Third Party Add-on Support
Super Search, to some extent, will natively support any third party field type that stores its data normally within the custom field. For third party add-ons with custom field types that store something else in the exp_channel_data table, we have included a Search Index API for developers to use.
Officially, Super Search includes limited third party add-on support to the following add-ons:
Super Search includes extensive support for searching upon Tag add-on tags. Because Tag 4 includes the special fieldtype approach, tags are saved directly to the custom field. This means that as long as the Tag field(s) are set to searchable in the custom fields' settings, you are be able to perform direct searches on them, as well as keyword searches that include Tag searching. So in order to take advantage of this, you must have Tag 4+ installed, have tags using the custom field method (not the "publish tab" method), and the Tag fields set to searchable.
In addition to the above, Super Search includes additional support for searching directly on tags:
Super Search includes extensive support for ordering results by ratings submitted with the Rating add-on. The following options/queries are available for the orderby param:
- search&orderby=rating - this would sort by overall Bayesian rating. Default desc.
- search&orderby=rating+asc - this would sort by overall Bayesian rating by asc (ascending) order.
- search&orderby=rating_field-hooplah - this would sort by a specific rating field with a name of hooplah, using the Bayesian value.
For developers of third party add-ons that use custom field types that store field data somewhere else (instead of the exp_channel_data table), you can add Super Search compatibility to your custom field type. Just add a public method third_party_search_index($field_data) to your field type class, and Super Search will know where to find the data. This is the same hook used in the Low Search add-on.
The third_party_search_index hook contains one parameter, $field_data, which contains the contents of your field currently in the database. Additionally, $this->settings is available, which includes $this->settings['entry_id']. Your method should return a string of searchable text.