Manticore Search | |
Manticore Search is an Open Source database that was created in 2017 as a continuation of Sphinx Search engine (Started in 2001). It's a modern, fast, light-weight and full-featured database with outstanding full-text search capabilities. https://manticoresearch.com/ Manticore Search is very appreciated by its community. It is a Unified Index option in Tiki. As of 2022-11-16, the results between the various engines are not identical in all cases. We wrote a script to compare the results of MariaDB/MySQL vs Elasticsearch vs Manticore Search, and review all the discrepancies. Also, different engines have different features. If Manticore doesn't work for you, you can revert to your previous engine. Status: |
Performance | |
Manticore Search uses way less RAM than Elasticsearch. One reason is that that Manticore Search is in C++ while Elasticsearch is in Java. https://db-benchmarks.com/ show that Manticore is faster than Elasticsearch. However, unexpectedly, as of 2024-08-21, the result of Manticore-Tiki is slower than Elasticsearch-Tiki and this will be worked on. |
Installation | |
See instructions on how to install it server side: |
How to indicate to Tiki to use Manticore Search | |
Once Manticore is installed and running:
Please see development information: Manticore Search and https://wikisuite.org/Manticore-Search It has many features including: |
See also | |
Dev notes from Victor | |
In short:
So, most of the sites shouldn't notice this change. Bigger sites will probably need some configuration to allow faster lookups on big trackers - ensure the searched fields end up in the preference. |
Move dev notes from Victor | |
https://gitlab.com/tikiwiki/tiki/-/merge_requests/2735 Had to unify the way we gather and store stats as well as building it for reporting. Now each reporting place uses a single stats builder, so they should be in sync (those are: rebuild console command output, rebuild log file output, last stats displayed via module). Due to the way we are indexing wiki pages and other wiki content, the content is parsed but there is no easy way to gather the fields used in that specific place, so I added a catch-all type of a rule: manticore query builder logs all field usages in queries (either fulltext or not) and stores these. Then, after rebuild finishes, we display the following additional stats: indexed fulltext fields If you want a more sophisticated report of where each indexed/non-indexed field is used, then I think a console command is needed with proper table display or might be part of the admin UI? |
Mac OS Notes | |
The only way I could get this to run locally on macOS (on Apple Silicon) was by using Docker, and i needed to add these config items, pasted here for reference) Environment
Mounts
Ports
|
Manticore Federation | |
We had a federation of two servers (each with Manticore) which were handling multiple sites. A third server was created and one of the sites was moved there. Copy to clipboard
|
Running the Docker Image of Manticore | |
For some Linux distributions, such as OpenSUSE, there's no Manticore Search package. I (Volker Wysk, 2025-03-11) have managed to run it in the Docker container provided for Manticore instead. Tiki appears to communicate, amongst other ways, over the file system with Manticore. So some preparations are necessary, so Manticore can access Tiki's "temp" directory. See below. Use the following commands to setup the Manticore Docker container. Execute them as the root user.
|