Unified Index | |
This applies to the search and capabilities in Tiki to filter (search filters, permissions, etc) content. It is important if not critical to keep a fresh Unified-Index as Tiki relies on the freshness of the Unified-Index to display and filter content. Tiki can support multiple search engines internally. Each of those will have different capabilities and limitations. The default engine should provide capabilities good enough for small and medium sites. Larger sites may need additional infrastructure to get the most performance. Please see: Unified Index Comparison |
Fields | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Below is a matrix between the fields and the object types. Legend: X - Available / - Static value ? - Depends on the data
* Tokenized - as in decomposed in words for full text search |
Searchable and not searchable | |
Some fields are indexed and are searchable and other are not searchable (more explanation is required). It will influence results that will be outputted when using the plugins List, CustomSearch and ListExecute (probably). For exemple, deepcategories (child from a parent category) are indexed but not searchable. When you set one of those plugins you need to specify the The plugin should start as follow: Copy to clipboard
|
Tracker Fields | |
In general, tracker fields are indexed as tracker_field_PERMNAME/ID. PERMNAME/ID is your tracker field permanent name or ID. However, many tracker field types have additional useful variants of the main field (see below) that are indexed for each field.
|
Multilingual fields are indexed as multiple fields | |
|
Rating and related fields store as multiple fields | |
|
Items List and Item Link fields | |
|
Language of the tracker item | |
Some used in buildQuery/tiki-searchindex.php (need explanation on whether these are real fields or just helpers): |
Rebuild search index | ||||
Please see Rebuild Unified Index MySQL limits for very big numbers of tracker fieldsHow to detectIf Unified Search is configured with the MySQL Full Text Search engine, you might encounter a failure to reindex with the following symptoms:
Copy to clipboard
If you investigate with producing a log it ends this way: Copy to clipboard
Technical explanation (thanks Victor)[+]What does matter is this: https://dev.mysql.com/doc/refman/5.7/en/create-table-files.html#limits-frm-file According to those calculations, our lengthy tracker field names each prefixed with 'tracker_field_' are the reason for the early limit hit. frm files impose a 65K bytes of limit for the table definition. For example, 1500 fields with the formula from the page results in around 1500*17 + 1500 * (avg length of the column name in bytes + 1). Considering 'tracker_field_' is already 14 bytes, there is not much space left for actual column names. … I previously saw that version 8 did not have the limits section and decided to see where is MySQL going to... so it seems, they removed this 64KB frm file limit in version 8. Not sure about mariadb but it must be going in the same direction? I couldn't find relevant docs on their site. SolutionsThe following options in
Hint: If the first option is enough for your site, you may ignore the second one. Indexing log common error troubleshootingWhen rebuilding your index use the following command to create a log file. Copy to clipboard
In the log you may see some error, this is an attempt to help and diagnose the possible issues.
Error: Index is being rebuilt at the moment and cannot start another rebuild process.This error happens when rebuilding dies with fatal error, our PHP shutdown functions are not executed and thus doesn't clear the preference flag that index is being rebuilt. So you try to rebuild and it is blocked because it thinks it's still rebuilding. So make it's not (reboot or kill the process) and then Copy to clipboard
|
Unified Index storage in the database (MySQL full-text search) | |
By design the unified-index store data in the MySQL database using MyISAM no matter if your Tiki uses innoDB or MyISAM (not all versions of InnoDB offer FULLTEXT). |
Duplicate unified-index table | |
For some reasons you may found that your database has several index (tables like index_...alphanumeric...). You can delete those tables (always consider saving a backup of your data prior any work) and rebuild the unified-index. Tiki will recreate and relink everything properly. You can find information about the unified-index in use at the Search control panel, General settings under Unified search index. |
Related | |
Developer Notes | |
See https://dev.tiki.org/Unified-Index#Developer_Notes. alias names for this page
Unified Search | UnifiedSearch | Enterprise search | Search Index | SearchIndex | UnifiedIndex |