本站面向开发者与科研用户,提供开源镜像的搜索和下载加速服务。
所有镜像均来源于原始开源仓库,本站不存储、不修改、不传播任何镜像内容。

manticore Docker 镜像下载 - 轩辕镜像

manticore 镜像详细信息和使用指南

manticore 镜像标签列表和版本信息

manticore 镜像拉取命令和加速下载

manticore 镜像使用说明和配置指南

Docker 镜像加速服务 - 轩辕镜像平台

国内开发者首选的 Docker 镜像加速平台

极速拉取 Docker 镜像服务

相关 Docker 镜像推荐

热门 Docker 镜像下载

manticore
manticoresearch/manticore
自动构建

manticore 镜像详细信息

manticore 镜像标签列表

manticore 镜像使用说明

manticore 镜像拉取命令

Docker 镜像加速服务

轩辕镜像平台优势

镜像下载指南

相关 Docker 镜像推荐

Manticore Search Docker镜像是一款易于使用的开源快速搜索数据库,帮助企业高效搜索和过滤PB级文本数据,支持自动补全、拼写纠错、分面搜索等功能,适用于从小型到大型公司的搜索需求。
38 收藏0 次下载activemanticoresearch镜像

manticore 镜像详细说明

manticore 使用指南

manticore 配置说明

manticore 官方文档

Manticore Search Docker镜像

镜像概述和主要用途

Manticore Search是一款易于使用的开源快速搜索数据库,帮助从小型到大型的数千家公司(如Craigslist)在单个或数百个节点上搜索和过滤PB级文本数据,实现流全文过滤,为网站和应用添加自动补全、拼写纠错、相似推荐、分面搜索等搜索相关技术。

默认配置包含示例实时索引,并监听以下默认端口:

  • 9306:用于MySQL客户端连接
  • 9308:用于HTTP协议连接
  • 9312:用于二进制协议连接(如集群环境)

该镜像内置库,可轻松从MySQL、PostgreSQL、XML和CSV文件索引数据。

标签及对应Dockerfile链接

  • 13.13.0, latest - 最新版本
  • dev - 最新开发版本

历史版本:

  • 13.11.1
  • 13.11.0
  • 13.6.7
  • 13.2.3
  • 10.1.0
  • 9.3.2
  • 9.2.14
  • 7.4.6
  • 7.0.0
  • 6.3.8
  • 6.3.6
  • 6.3.4
  • 6.3.2
  • 6.3.0
  • 6.2.12
  • 6.2.0
  • 6.0.4
  • 6.0.2
    • 6.0.2-extra3
    • 6.0.2-extra2
    • 6.0.2-extra
  • 6.0.0-hf
  • 5.0.2
    • 5.0.2-extra2
    • 5.0.2-extra
  • 5.0.0
  • 4.2.0
  • 3.6.0
  • 3.5.4
  • 3.5.2
  • 3.5.0
  • 3.4.2
  • 3.4.0
  • 3.3.0
  • 3.2.2
  • 3.2.0
  • 3.1.2
  • 3.1.0
  • 3.0.2
  • 3.0.0
  • 2.8.2
  • 2.8.1
  • 2.8.0
  • 2.7.5
  • 2.7.4
  • 2.7.3
  • 2.7.2
  • 2.7.1
  • 2.7.0
  • 2.6.4
  • 2.6.3
  • 2.6.2

核心功能和特性

  • 快速搜索性能:高效处理PB级文本数据,支持大规模搜索场景
  • 多协议支持:提供MySQL(9306)、HTTP(9308)和二进制(9312)协议接口
  • 丰富索引能力:内置从MySQL、PostgreSQL、XML和CSV文件索引数据的库
  • 实时索引:默认配置包含实时索引,支持动态数据更新
  • 集群支持:通过二进制协议实现多节点集群部署和数据复制
  • 扩展功能:内置Manticore Columnar Library和Manticore Buddy,增强搜索能力

使用场景和适用范围

适用于各种规模的企业,包括:

  • 需要为网站或应用添加全文搜索功能的场景
  • 处理大规模文本数据(PB级)的搜索和过滤需求
  • 实现流数据全文过滤、自动补全、拼写纠错等高级搜索功能
  • 构建分布式搜索集群,满足高可用性和扩展性要求

详细使用方法和配置说明

快速使用

以下是启动Manticore容器并通过MySQL客户端登录的最简单方式:

bash
docker run --name manticore --rm -d manticoresearch/manticore && echo "等待Manticore容器启动。考虑映射数据目录以加快下次启动速度" && until docker logs manticore 2>&1 | grep -q "accepting connections"; do sleep 1; echo -n .; done && echo && docker exec -it manticore mysql && docker stop manticore

注意:退出MySQL客户端后,Manticore容器将停止并删除,数据不会保留。生产环境使用方法见下文。

镜像包含示例表,可通过以下命令加载:

sql
mysql> source /sandbox.sql

MySQL客户端历史记录中包含示例查询,可通过上下方向键查看和运行。

生产使用

端口和挂载点

为实现数据持久化,需将/var/lib/manticore/目录挂载到本地存储或其他存储引擎。

容器内配置文件路径为/etc/manticoresearch/manticore.conf,如需自定义配置,需将该文件挂载到本地配置文件。此外,可通过环境变量设置配置参数。

重要:通过环境变量设置的参数优先级更高。例如,若通过环境变量-e searchd_listen='***:mysql'和配置文件中listen = 9306:mysql同时设置,最终SQL连接将监听***端口。

默认端口9306(SQL)、9308(HTTP)、9312(二进制),根据使用需求暴露端口。示例:

bash
docker run --name manticore -v $(pwd)/data:/var/lib/manticore -p 127.0.0.1:9306:9306 -p 127.0.0.1:9308:9308 -d manticoresearch/manticore

或使用自定义配置文件:

bash
docker run --name manticore -v $(pwd)/manticore.conf:/etc/manticoresearch/manticore.conf -v $(pwd)/data:/var/lib/manticore/ -p 127.0.0.1:9306:9306 -p 127.0.0.1:9308:9308 -d manticoresearch/manticore

若需外部主机访问端口,移除127.0.0.1:前缀。

Manticore Search Docker镜像预装了Manticore Columnar Library和Manticore Buddy。

Docker Compose配置

在多容器环境中,可通过Docker Compose配置Manticore。以下是推荐的基础配置:

yaml
version: '2.2'

services:
  manticore:
    container_name: manticore
    image: manticoresearch/manticore
    restart: always
    ports:
      - 127.0.0.1:9306:9306
      - 127.0.0.1:9308:9308
    ulimits:
      nproc: 65535
      nofile:
         soft: 65535
         hard: 65535
      memlock:
        soft: -1
        hard: -1
    volumes:
      - ./data:/var/lib/manticore
#      - ./manticore.conf:/etc/manticoresearch/manticore.conf # 如需自定义配置,取消注释此行

除暴露9306和9308端口外,可通过docker-compose exec manticore mysql登录容器。

HTTP协议使用

HTTP协议监听9308端口,映射端口后可通过curl访问:

bash
docker run --name manticore -p 9308:9308 -d manticoresearch/manticore

创建表

bash
curl -X POST '[***] -d 'mode=raw&query=CREATE TABLE testrt ( title text, content text, gid integer)'

插入文档

bash
curl -X POST '[***] -d'{"index":"testrt","id":1,"doc":{"title":"Hello","content":"world","gid":1}}'

执行搜索

bash
curl -X POST '[***] -d '{"index":"testrt","query":{"match":{"*":"hello world"}}}'

日志查看

默认情况下,服务器日志输出到/dev/stdout,可通过以下命令从主机查看:

bash
docker logs manticore

通过设置环境变量QUERY_LOG_TO_STDOUT=true,可将查询日志重定向到Docker日志。

多节点集群与复制

以下是定义双节点集群的简单docker-compose.yml

yaml
version: '2.2'

services:
  manticore-1:
    image: manticoresearch/manticore
    restart: always
    ulimits:
      nproc: 65535
      nofile:
         soft: 65535
         hard: 65535
      memlock:
        soft: -1
        hard: -1
    networks:
      - manticore
  manticore-2:
    image: manticoresearch/manticore
    restart: always
    ulimits:
      nproc: 65535
      nofile:
        soft: 65535
        hard: 65535
      memlock:
        soft: -1
        hard: -1
    networks:
      - manticore
networks:
  manticore:
    driver: bridge

操作步骤

  1. 启动集群:docker-compose up

  2. 在节点1创建集群:

sql
$ docker-compose exec manticore-1 mysql

mysql> CREATE TABLE testrt ( title text, content text, gid integer);
mysql> CREATE CLUSTER posts;
Query OK, 0 rows affected (0.24 sec)
mysql> ALTER CLUSTER posts ADD testrt;
Query OK, 0 rows affected (0.07 sec)
mysql> exit
  1. 在节点2加入集群:
sql
$ docker-compose exec manticore-2 mysql

mysql> JOIN CLUSTER posts AT 'manticore-1:9312';
mysql> INSERT INTO posts:testrt(title,content,gid) VALUES('hello','world',1);
Query OK, 1 row affected (0.00 sec)
mysql> exit
  1. 在节点1验证数据同步:
sql
$ docker-compose exec manticore-1 mysql

MySQL [(none)]> select * from testrt;
+---------------------+------+-------+---------+
| id                  | gid  | title | content |
+---------------------+------+-------+---------+
| 3891565839006040065 |    1 | hello | world   |
+---------------------+------+-------+---------+
1 row in set (0.00 sec)
mysql> exit

内存锁定和资源限制

推荐覆盖Docker默认ulimit设置:

bash
--ulimit nofile=65536:65536

为获得最佳性能,可将表组件"mlocked"到内存中。在Docker中运行时,需添加以下参数以允许内存锁定:

bash
--cap-add=IPC_LOCK --ulimit memlock=-1:-1

通过环境变量配置Manticore Search

如需使用包含表定义的自定义配置,需挂载配置文件:

bash
docker run --name manticore -v $(pwd)/manticore.conf:/etc/manticoresearch/manticore.conf -v $(pwd)/data/:/var/lib/manticore -p

用户好评

来自真实用户的反馈,见证轩辕镜像的优质服务

oldzhang的头像

oldzhang

运维工程师

Linux服务器

5

"Docker加速体验非常流畅,大镜像也能快速完成下载。"