今天突然需要搜一个之前自己发过的嘟文,结果发现之前部署的Mastodon没有配置全文搜索,搜索功能无法使用。
之前也是比较懒,觉得搜索功能根本就用不上,而且es还吃内存,就没配置,结果今天就遇到这档子事。。
幸好这台机器内存有2g,除去mastodon自身大概用了1g,还有很多空闲出来,所以这里就记录下配置过程。
下面的配置是在这篇文章的基础上进行:
编辑compose:
cd /opt/mastodon/ && nano docker-compose.yml
加入下面的配置:
mastodon-es: image: docker.elastic.co/elasticsearch/elasticsearch-oss:6.8.10 environment: - "ES_JAVA_OPTS=-Xms512m -Xmx512m" - "cluster.name=es-mastodon" - "discovery.type=single-node" - "bootstrap.memory_lock=true" healthcheck: test: ["CMD-SHELL", "curl --silent --fail localhost:9200/_cluster/health || exit 1"] volumes: - ./elasticsearch:/usr/share/elasticsearch/data ulimits: memlock: soft: -1 hard: -1 restart: unless-stopped
[重要]把elasticsearch目录的用户和组改为1000,如果没有这个目录就新建:
mkdir elasticsearch chown -R 1000:1000 elasticsearch
启动elasticsearch容器:
docker-compose up -d
确保elasticsearch容器是正常运行的状态:
接下来编辑.env配置文件:
nano .env.production
加入如下配置:
ES_ENABLED=true ES_HOST=mastodon-es # 这里的host对应compose内的services名 ES_PORT=9200
使env的配置生效:
docker-compose up -d
最后创建索引即可:
docker-compose run --rm mastodon-web bin/tootctl search deploy
ES可以做一下中文搜索优化,具体可以参见 Mastodon 关于 es 相关的官方文档 https://docs.joinmastodon.org/zh-cn/admin/optional/elasticsearch/ 最后的 「其它语言的搜索优化」 部分
好像没优化搜索出来的结果也挺准的。。。
体验了一下mastodon,还不错,用来记录信息的话,但是添加了几个中继站,真的把我恶心坏了。
充斥着政治、女权、gay,真恶心妈的
真的和垃圾堆没区别
我基本不关注其他人也不用中继站,单纯就拿来记东西的。不过有一说一,这种去中心化的社交平台,肯定都是这种垃圾信息居多的。。