Installing Manticore in Debian or Ubuntu

Supported releases:

  • Debian

    • 10.0 (Buster)
    • 11.0 (Bullseye)
    • 12.0 (Bookworm)
  • Ubuntu

    • 18.04 (Bionic)
    • 20.04 (Focal)
    • 21.04 (Hirsute Hippo)
    • 22.04 (Ubuntu Jammy)
  • Mint

    • 19
    • 20

APT repository

The easiest way to install Manticore in Ubuntu/Debian/Mint is by using our APT repository.

Install the repository:

wget https://repo.manticoresearch.com/manticore-repo.noarch.deb
sudo dpkg -i manticore-repo.noarch.deb
sudo apt update

(install wget if it's not installed; install gnupg2 if apt-key fails).

Then install Manticore Search:

sudo apt install manticore manticore-extra

If you are upgrading to Manticore 6 from an older version, it is recommended to remove your old packages first to avoid conflicts caused by the updated package structure:

sudo apt remove manticore*

It won't remove your data and configuration file.

Development packages

If you prefer "Nightly" (development) versions do:

wget https://repo.manticoresearch.com/manticore-dev-repo.noarch.deb && \
sudo dpkg -i manticore-dev-repo.noarch.deb && \
sudo apt -y update && \
sudo apt -y install manticore manticore-extra manticore-common manticore-server manticore-server-core manticore-tools manticore-executor manticore-buddy manticore-backup manticore-columnar-lib manticore-server-core-dbgsym manticore-tools-dbgsym manticore-columnar-lib-dbgsym manticore-icudata-65l manticore-galera manticore-galera-dbgsym

Standalone DEB packages

To download standalone DEB files from the Manticore repository, follow the instructions available at https://manticoresearch.com/install/.

More packages you may need

For indexer

Manticore package depends on zlib and ssl libraries, nothing else is strictly required. However, if you plan to use indexer to create tables from external storages, you'll need to install appropriate client libraries. To find out what specific libraries indexer requires, run it and look at the top of its output:

$ sudo -u manticore indexer
Manticore 3.5.4 13f8d08d@201211 release
Copyright (c) 2001-2016, Andrew Aksyonoff
Copyright (c) 2008-2016, Sphinx Technologies Inc (http://sphinxsearch.com)
Copyright (c) 2017-2024, Manticore Software LTD (https://manticoresearch.com)

Built by gcc/clang v 5.4.0,

Built on Linux runner-0277ea0f-project-3858465-concurrent-0 4.19.78-coreos #1 SMP Mon Oct 14 22:56:39 -00 2019 x86_64 x86_64 x86_64 GNU/Linux

Configured by CMake with these definitions: -DCMAKE_BUILD_TYPE=RelWithDebInfo -DDISTR_BUILD=xenial -DUSE_SSL=ON -DDL_UNIXODBC=1 -DUNIXODBC_LIB=libodbc.so.2 -DDL_EXPAT=1 -DEXPAT_LIB=libexpat.so.1 -DUSE_LIBICONV=1 -DDL_MYSQL=1 -DMYSQL_LIB=libmysqlclient.so.20 -DDL_PGSQL=1 -DPGSQL_LIB=libpq.so.5 -DLOCALDATADIR=/var/data -DFULL_SHARE_DIR=/usr/share/manticore -DUSE_ICU=1 -DUSE_BISON=ON -DUSE_FLEX=ON -DUSE_SYSLOG=1 -DWITH_EXPAT=1 -DWITH_ICONV=ON -DWITH_MYSQL=1 -DWITH_ODBC=ON -DWITH_POSTGRESQL=1 -DWITH_RE2=1 -DWITH_STEMMER=1 -DWITH_ZLIB=ON -DGALERA_SOVERSION=31 -DSYSCONFDIR=/etc/manticoresearch

Here you can see mentions of libodbc.so.2, libexpat.so.1, libmysqlclient.so.20, and libpq.so.5.

Below is a reference table with a list of all the client libraries for different Debian/Ubuntu versions:

Distr MySQL PostgreSQL XMLpipe UnixODBC
Ubuntu Trusty libmysqlclient.so.18 libpq.so.5 libexpat.so.1 libodbc.so.1
Ubuntu Bionic libmysqlclient.so.20 libpq.so.5 libexpat.so.1 libodbc.so.2
Ubuntu Focal libmysqlclient.so.21 libpq.so.5 libexpat.so.1 libodbc.so.2
Ubuntu Hirsute libmysqlclient.so.21 libpq.so.5 libexpat.so.1 libodbc.so.2
Ubuntu Jammy libmysqlclient.so.21 libpq.so.5 libexpat.so.1 libodbc.so.2
Debian Jessie libmysqlclient.so.18 libpq.so.5 libexpat.so.1 libodbc.so.2
Debian Buster libmariadb.so.3 libpq.so.5 libexpat.so.1 libodbc.so.2
Debian Bullseye libmariadb.so.3 libpq.so.5 libexpat.so.1 libodbc.so.2
Debian Bookworm libmariadb.so.3 libpq.so.5 libexpat.so.1 libodbc.so.2

To find packages that provide the libraries, you can use, for example, apt-file:

apt-file find libmysqlclient.so.20
libmysqlclient20: /usr/lib/x86_64-linux-gnu/libmysqlclient.so.20
libmysqlclient20: /usr/lib/x86_64-linux-gnu/libmysqlclient.so.20.2.0
libmysqlclient20: /usr/lib/x86_64-linux-gnu/libmysqlclient.so.20.3.6

Note that you only need libraries for the types of storages you're going to use. So if you plan to build tables only from MySQL, then you might need to install only the MySQL library (in the above case libmysqlclient20).

Finally, install the needed packages:

sudo apt-get install libmysqlclient20 libodbc1 libpq5 libexpat1

If you aren't going to use the indexer tool at all, you don't need to find and install any libraries.

To enable CJK tokenization support, the official packages contain binaries with embedded ICU library and include ICU data file. They are independent from any ICU runtime library which might be available on your system, and can't be upgraded.

Ukrainian lemmatizer

The lemmatizer requires Python 3.9+. Make sure you have it installed and that it's configured with --enable-shared.

Here's how to install Python 3.9 and the Ukrainian lemmatizer on Debian and Ubuntu:

# install Manticore Search and UK lemmatizer from APT repository
cd ~
wget https://repo.manticoresearch.com/manticore-repo.noarch.deb
sudo dpkg -i manticore-repo.noarch.deb
sudo apt -y update
sudo apt -y install manticore manticore-lemmatizer-uk

# install packages needed for building Python
sudo apt -y update
sudo apt -y install wget build-essential libreadline-dev libncursesw5-dev libssl-dev libsqlite3-dev tk-dev libgdbm-dev libc6-dev libbz2-dev libffi-dev zlib1g-dev

# download, build and install Python 3.9
cd ~
wget https://www.python.org/ftp/python/3.9.4/Python-3.9.4.tgz
tar xzf Python-3.9.4.tgz
cd Python-3.9.4
./configure --enable-optimizations --enable-shared
sudo make -j8 altinstall

# update linker cache
sudo ldconfig

# install pymorphy2 and UK dictionary
sudo pip3.9 install pymorphy2[fast]
sudo pip3.9 install pymorphy2-dicts-uk

Installing Manticore on MacOS

Via Homebrew package manager

brew install manticoresoftware/tap/manticoresearch manticoresoftware/tap/manticore-extra

Start Manticore as a brew service:

brew services start manticoresearch

The default configuration file for Manticore is located at either /usr/local/etc/manticoresearch/manticore.conf or /opt/homebrew/etc/manticoresearch/manticore.conf.

If you plan to use indexer to fetch data from sources such as MySQL, PostgreSQL, or another database using ODBC, you may need additional libraries, such as [email protected], libpq, and unixodbc, respectively.

Development packages

If you prefer "Nightly" (development) versions do:

brew tap manticoresoftware/tap-dev
brew install manticoresoftware/tap-dev/manticoresearch-dev manticoresoftware/tap-dev/manticore-extra-dev
brew services start manticoresearch-dev

Installing Manticore in Windows

  1. Download the Manticore Search Installer and run it. Follow the installation instructions.
  2. Choose the directory to install to.
  3. Select the components you want to install. We recommend installing all of them.
  4. Manticore comes with a preconfigured manticore.conf file in RT mode. No additional configuration is required.

Installing as a Windows service

To install searchd (Manticore Search server) as a Windows service, run:

\path\to\searchd.exe --install --config \path\to\config --servicename Manticore

Make sure to use the full path of the configuration file, otherwise searchd.exe will not be able to locate it when it starts as a service.

After installation, the service can be started from the Services snap-in of the Microsoft Management Console.

Once started, you can access Manticore using the MySQL command line interface:

mysql -P9306 -h127.0.0.1

Note that in most examples in this manual, we use -h0 to connect to the local host, but in Windows, you must use localhost or 127.0.0.1 explicitly.