Troubleshooting
Start here
Repeat the exact query in Индексация и проверка → Проверить выдачу, then in the affected site form under the same user. Record the module version, selected catalog, query, expected product/section and any save or indexing message.
The admin test helps distinguish index content from component filters and rendering, but results under different permissions can differ.
Class "CCatalogSku" not found when saving
This was reproduced in 1.0.0 on the standard Bitrix module-settings page with storefront and CRM integrations disabled. The code accessed the SKU class before loading the catalog module.
Install 1.0.1 or obtain zorka.search-1.0.1-hotfix-settings.zip from the developer. Back up and replace lib/admin/settings.php and install/version.php inside /bitrix/modules/zorka.search/, reopen settings and save again. See the update instructions.
Version 1.0.1 explicitly loads the dependency before using SKU. It was tested on both settings pages, with integrations disabled and in a fresh PHP process. This fix alone does not require an index rebuild.
If the new message says the Trade Catalog module cannot be loaded, check that catalog is installed and available. Saving stops before changing the selected catalogs and field settings.
An infoblock or property is missing
- Check native element/section indexing flags. An infoblock with both disabled is hidden.
- For a product property, check activity, native search participation and the supported type.
- For a section user field, check search participation and its type.
- Disabled section indexing hides section fields even if product search is enabled.
After enabling data, save settings and rebuild the affected scope. See fields and modes.
Checkboxes return after saving
Read the message at the top: a validation error can cancel the entire save. The current version automatically skips offer infoblocks with native search completely disabled. Confirm that the new module files are actually loaded.
With JavaScript enabled, the large form sends packed settings. Without JavaScript, the ordinary form depends on PHP max_input_vars; incomplete submissions are rejected to avoid losing settings. See updating.
«Тепловые пушки» is not found by «пушки»
- Check catalog selection and native section indexing.
- Check the section and its parents are active and accessible.
- Enable the basic section Name field in Words or Substring mode.
- If recently enabled, finish a Sections only pass in this module.
- Test in the admin panel, then inspect site component restrictions and result limits.
A product named «пушка» does not automatically match «пушки»: morphology is not implemented. Use synonyms.
A product appears although the word only occurs in its section
This is expected in autocomplete: when only sections match, their products and descendant-section products fill remaining slots. Those product names do not have to match the query. See autocomplete rules.
Disabling the section Name field excludes that field, but aliases or other enabled section fields may still match. Check them. If the module test does not match but the site does, inspect the actual component, storefront connection, third-party template and cache.
000123 and 123 are not distinct
A numeric source property may have lost zeros before indexing. Use a string property and Exact value mode for identifiers. In substring mode, 123 legitimately occurs within 000123. Update the index after changing source data.
passat-150 works on the full page but not in autocomplete
Check the actual header search component. For arturgolubev:search.title, use zorka.search 0.1.28 or later: the module retains the original query instead of the punctuation-stripped variant. This fix needs no reindexing. If the problem remains, compare catalog filters, permissions, limits and the module's test results. See autocomplete compatibility.
passat 150 does not find PASSAT-150
Use 0.1.30 or later. On the Search sorting tab, enable the product Name field, select Substring mode and save. If the name was already indexed, no rebuild is needed. If you have just enabled the field, rebuild products. The joined spelling passat150 does not automatically become equivalent. See matching modes.
New products are missing
Check queued updates, selected catalogs, activity, permissions and native indexing flags. Allow large imports to drain through the queue. If agents run on cron, verify the native Bitrix schedule. Direct SQL writes require a rebuild.
Slow indexing or autocomplete
For autocomplete, use 0.1.29 or later: component catalog scoping applies automatically. Check that the component actually restricts search to the required catalogs.
For indexing, increase the batch to 1000 or use CLI. Speed depends on the database and property count. For delayed suggestions, measure the AJAX response separately: index size, synonyms, the template and product-card loading all affect it. Section-plus-products results can require an additional query.
Cron cannot be installed
Read the reason in the cron block. Automatic management requires PHP to run as OS user bitrix, plus POSIX, proc_open, /usr/bin/php and crontab permissions. Signing in as a site administrator does not provide these. Use the shown command for manual setup under the site user. A paused log event is a saved checkpoint, not a completed rebuild.
After a Bitrix update
Check Compatibility, standard search, autocomplete and actual CRM product selection. If an adapter is incompatible, disable that connection and investigate changes to classes or templates. Future Bitrix versions are not guaranteed to be compatible.
When contacting support, include PHP, Bitrix and module versions, the query, search form type, relevant field settings and the error message. Do not publish passwords, license keys or database dumps.
Manticore installation from administration fails
This feature requires 0.1.34. Check the installed version, environment, directory and logs in Manticore on this server. PHP must not run as root. Outbound HTTPS, process execution and storage without noexec are required. For protection errors, choose storage outside the site or configure the web server: .htaccess cannot protect files served directly by Nginx. Clicking the installation button again resumes the download. See the full guide.
A manual stop disables automatic restart. Without cron, visit-driven agents cannot guarantee immediate startup after reboot. Search continues through MySQL.