编程

在 Debian/Ubuntu 上安装 Manticore

737 2024-02-18 05:07:00

支持的发行版:

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 仓库

在 Ubuntu/Debian/Mint 上安装 Ubuntu/Debian/Mint 最简单的方法是使用 APT 仓库。

安装该仓库:

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

(如果没有 wget 则安装之;如果 apt-key 失败则安装 gnupg2)。

然后安装 Manticore Search:

sudo apt install manticore manticore-extra

如果要从旧版本升级到 Manticore 6,建议先删除旧软件包,以避免更新后的软件包结构引起冲突:

sudo apt remove manticore*

这不会删除数据及配置文件。

开发包

如果你想要使用 "Nightly" (开发) 版本:

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

独立的 DEB 包

要从 Manticore 存储库下载独立的 DEB 文件,请按照 https://manticoresearch.com/install/ 上的说明进行操作。

更多你可能需要的包

For indexer

Manticore 包依赖 zlib 和 ssl 库,其他并不严格需要。但是,如果计划使用索引器(index)从外部存储创建表,则需要安装适当的客户端库。要了解特定库 index 需要什么,请运行它并查看其输出的顶部:

$ 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-2023, 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

此处你能看到提及了 libodbc.so.2, libexpat.so.1, libmysqlclient.so.20, 和 libpq.so.5.

以下是一个参考表,其中列出了不同 Debian/Uubuntu 版本的所有客户端库:

DistrMySQLPostgreSQLXMLpipeUnixODBC
Ubuntu Trustylibmysqlclient.so.18libpq.so.5libexpat.so.1libodbc.so.1
Ubuntu Bioniclibmysqlclient.so.20libpq.so.5libexpat.so.1libodbc.so.2
Ubuntu Focallibmysqlclient.so.21libpq.so.5libexpat.so.1libodbc.so.2
Ubuntu Hirsutelibmysqlclient.so.21libpq.so.5libexpat.so.1libodbc.so.2
Ubuntu Jammylibmysqlclient.so.21libpq.so.5libexpat.so.1libodbc.so.2
Debian Jessielibmysqlclient.so.18libpq.so.5libexpat.so.1libodbc.so.2
Debian Busterlibmariadb.so.3libpq.so.5libexpat.so.1libodbc.so.2
Debian Bullseyelibmariadb.so.3libpq.so.5libexpat.so.1libodbc.so.2
Debian Bookwormlibmariadb.so.3libpq.so.5libexpat.so.1libodbc.so.2

要找到提供相应库的包,你可以使用,比如 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

请注意,您只需要用于将要使用的存储类型的库。因此,如果您计划只从 MySQL 创建表格,那么可能只需要安装 MySQL 库(在上面的例子中是 libmysqlclient20)。

最后,安装所需的软件包:

sudo apt-get install libmysqlclient20 libodbc1 libpq5 libexpat1

如果你根本不打算使用 indexer 工具,你就不需要查找安装这些库。

为了支持 CJK 标记化,官方包包含带有嵌入式 ICU 库的二进制文件,并包含 ICU 数据文件。它们独立于任何 ICU 运行库,这些运行库可能在你的系统上可用,并且无法升级。

Ukrainian lemmatizer

这个 lemmatizer 需要 Python 3.9+。请确保已安装 Python 3.9+ 并使用 --enable-shared 配置。

以下为如何在 Debian/Ubuntu  中安装 Python 3.9 和 Ukrainian lemmatizer:

# 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