Manticore search na Debian 10 (buster)

Upgrade Sphinxsearch 2 na verzi 3 se mi nezdařil, při indexaci jednoho z indexů z více zdroji mi to hlásilo chybu „Something wrong in frame pointers, manual backtrace failed“ a na fóru byla spousta podobných lidí, co hlásilo chybu už v roce 2018. Od té doby žádná odpověď od vývojáře projektu shodana, ten tam akorát napsal, že dodá řešení, ale po 3 letech stále nic, takže asi mrtvý projekt ? Ale nevadí, objevil jsem nástupce. Manticore was born in 2017 as a continuation of Sphinx Search. We took the best from Sphinx…

Manticoresearch: https://manticoresearch.com/

Instalace

Návod instalace na Debian 10

apt-install dirmngr

apt-key adv --fetch-keys 'https://repo.manticoresearch.com/GPG-KEY-manticore'
wget https://repo.manticoresearch.com/manticore-repo.noarch.deb
dpkg -i manticore-repo.noarch.deb
apt update
apt install manticore

Konfigurace

To enable manticore, edit /etc/default/manticore and set START=yes

/etc/init.d/manticore start

Starting manticore: Manticore 3.5.4 f70faec5@210107 release
Copyright (c) 2001-2016, Andrew Aksyonoff
Copyright (c) 2008-2016, Sphinx Technologies Inc (http://sphinxsearch.com)
Copyright (c) 2017-2020, Manticore Software LTD (http://manticoresearch.com)

[19:36.915] [21799] using config file ‚/etc/manticoresearch/manticore.conf‘ (306 chars)…
starting daemon version ‚3.5.4 f70faec5@210107 release‘ …
listening on 127.0.0.1:9312 for sphinx and http(s)
listening on 127.0.0.1:9306 for mysql
listening on 127.0.0.1:9308 for sphinx and http(s)
manticore is started.

K serveru se dá připojit přes MySQL 5 driver, např. já používám dbeaver.

Jak přidat indexy ? Ve starém spinxsearch bylo vše v souboru sphinx.conf , u manticore je to /etc/manticoresearch/manticore.conf.

Plain mode

Manticore může běžet ve dvou módech (RT mode a Plain mode). Já používám pouze Plain mode. V Plain mode se indexy vytváří tak, že se zakomentuje v konfigu „data_dir“ a přidávají se source a index. Plain mode se hodí pro remote data, pokud je tahám např. z jiné MySQL databáze 1x denně přes nástroj indexer.

Indexy mohou být typu Real-time, Plain, Percolate, Distributed nebo Template.

Plain „index“ se tedy používá společně se „source“ k indexaci dat z externího úložiště. Po indexaci nelze do něj přidávat, mazat, upravovat online. Musí se celý přeindexovat např. pro index s názvem ft_mix použiju indexaci takto: „indexer ft_mix –rotate“. Pokud v externím úložišti přibudou data a dohromady je to obrovský balík dat, dá se to řešit (pokud nechci použít RT index) přidáním druhého tzv. delta source. Takže budu mít 2 zdroje main a delta.

MySQL shell

K databázi manticore se dá připojit přímo přes mysql konzoli.

mysql -h0 -P9306

Výpis indexů (tabulek) v Mysql konzoli

MySQL [(none)]> show tables;