-
Debian
- 9.0 (Stretch)
- 10.0 (Buster)
- 11.0 (Bullseye)
-
Ubuntu
- 16.04 LTS (Xenial)
- 18.04 LTS (Bionic)
- 20.04 LTS (Focal)
- 21.04 (Hirsute Hippo)
- 22.04 (Ubuntu Jammy)
-
Mint
- 19
- 20
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-columnar-lib
You can skip manticore-columnar-lib
- package for the Manticore Columnar Library, if you are sure you don't need it.
If you are upgrading to Manticore version 5 or higher it's recommended to remove all the old Manticore packages before you install the new ones since package structure got changed in version 5.0.0:
sudo apt remove manticore*
It won't remove your data and configuration file.
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 update
sudo apt install manticore manticore-columnar-lib manticore-server-core-dbgsym manticore-tools-dbgsym manticore-columnar-lib-dbgsym
You can also download individual .deb files from our site.
Manticore package depends on zlib and ssl libraries, nothing else is strictly required. However if you plan to use indexer to create indexes from external storages you'll need to install appropriate client libraries. To know what exactly libraries indexer
requires run it and look at the top of it's 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-2022, 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 list of all the client libraries for different Debian/Ubuntu versions:
Distr | MySQL | PostgreSQL | XMLpipe | UnixODBC |
---|---|---|---|---|
Ubuntu Trusy | libmysqlclient.so.18 | libpq.so.5 | libexpat.so.1 | libodbc.so.1 |
Ubuntu Xenial | libmysqlclient.so.20 | libpq.so.5 | libexpat.so.1 | libodbc.so.2 |
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 Stretch | libmariadbclient.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 |
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 index 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 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.
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-gplv2-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
After you have all installed make sure you have the following in your Manticore Search configuration file (/etc/manticoresearch/manticore.conf
by default):
common {
plugin_dir = /usr/local/manticore/lib/
}
brew install manticoresearch
Afterwards you can start Manticore as a brew service:
brew services start manticoresearch
Manticore configuration file is /usr/local/etc/manticoresearch/manticore.conf
.
If you are plannning to use indexer to fetch data from mysql, postgres or another DB using ODBC the additional libraries that you mad need are [email protected]
, libpq
, and unixodbc
correspondingly.
Download it from the website and unpack to a folder:
mkdir manticore
cd manticore
wget https://repo.manticoresearch.com/repository/manticoresearch_macos/release/manticore-5.0.2-220530-348514c86-main.tar.gz
tar -xf manticore-5.0.2-220530-348514c86-main.tar.gz
wget https://repo.manticoresearch.com/repository/manticoresearch_macos/release/manticore-columnar-lib-1.15.4-220522-2fef34e-osx10.14.4-x86_64.tar.gz
tar -xf manticore-columnar-lib-1.15.4-220522-2fef34e-osx10.14.4-x86_64.tar.gz
# Start Manticore
FULL_SHARE_DIR=./share/manticore ./bin/searchd -c ./etc/manticoresearch/manticore.conf
# Run indexer
FULL_SHARE_DIR=./share/manticore ./bin/indexer -c ./etc/manticoresearch/manticore.conf
Manticore configuration file is ./etc/manticoresearch/manticore.conf
after you unpack the archive.
To install Manticore in Windows you need to download zip archive and unpack it into a folder.
- Download Manticore bundle and Manticore Columnar Library
- Create a folder, e.g.
C:\Manticore
- Move the archives into it and extract files from them:
unzip manticore-5.0.2-220530-348514c86-main.zip
unzip manticore-columnar-lib-1.15.4-220522-2fef34e-x64.zip
The archive comes with a sample configuration file in manticore.conf.in
.
The configuration contains placeholders @LOGDIR@
, @RUNDIR@
and @CONFDIR@
that need to be replaced with your:
- logs dir path
- pid files directory path
- and data directory location
respectively. The archive also includes empty folders var/log
and var/data
, so if you like - you can use them.
System variable FULL_SHARE_DIR
should be also set to the full path of the share
folder. That allows Manticore to work with installed ICU
, stop words and columnar and secondary libraries from the share
folder.
To install the searchd
(Manticore search server) as a Windows service run:
C:\Manticore\bin\searchd --install --config C:\Manticore\manticore.conf.in --servicename Manticore
Make sure to use the full path of the configuration file, otherwise searchd.exe will not be able to know its location when it's started as 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
, but in Windows you need to use localhost
or 127.0.0.1
for the local host.