前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >seafile配置全文搜索

seafile配置全文搜索

作者头像
鹏程
发布2023-07-24 15:52:08
8050
发布2023-07-24 15:52:08
举报
文章被收录于专栏:Pengcheng's Blog

Seafile 支持使用 ElasticSearch 服务实现全文搜索。

背景

搜索选项

可以在 seafevents.conf 中设置 [INDEX FILES] 选项来控制文件搜索的行为。你需要重新启动 seafileseahub 使它们生效。

代码语言:javascript
复制
vim /opt/seafile/data/seafile/conf/seafevents.conf

如果是跟着本博客做的,对于 pro 版,选择已经默认开启了全文搜索,可以跳过这小节。

默认配置如下:

代码语言:javascript
复制
[INDEX FILES]
external_es_server = true
es_host = elasticsearch
es_port = 9200
enabled = true
interval = 10m

highlight = fvh

## If true, indexes the contents of office/pdf files while updating search index
## Note: If you change this option from "false" to "true", then you need to clear the search index and update the index again. See the FAQ for details.
index_office_pdf = true

对于非pro版,如果没有开启,可以先按照下面的配置来进行修改:

代码语言:javascript
复制
[INDEX FILES]
## must be "true" to enable search
enabled = true

## The interval the search index is updated. Can be s(seconds), m(minutes), h(hours), d(days)
interval=10m

## If true, indexes the contents of office/pdf files while updating search index
## Note: If you change this option from "false" to "true", then you need to clear the search index and update the index again.
index_office_pdf=false

启用 Office/PDF 文件的全文搜索

现在pro版是默认启用。如果要启用它,您需要按照以下说明进行操作。

首先,您必须在 seafevents.conf 中将 index_office_pdf 选项的值设置为 true

然后重新启动 seafile 服务,还需要删除现有的搜索索引并重建。

运行命令

【重要】对于docker运行网盘的时候

重新启动 seafile 服务。

代码语言:javascript
复制
docker exec -it seafile /opt/seafile/seafile-server-latest/reset-admin.sh/seafile.sh restart

删除现有的搜索索引并重建。

代码语言:javascript
复制
docker exec -it seafile /opt/seafile/seafile-server-latest/pro/pro.py search --clear
docker exec -it seafile /opt/seafile/seafile-server-latest/pro/pro.py search --update
对于非docker运行网盘

重新启动 seafile 服务。

代码语言:javascript
复制
cd /data/haiwen/seafile-pro-server-1.7.0/
./seafile.sh restart

删除现有的搜索索引并重建。

代码语言:javascript
复制
./pro/pro.py search --clear
./pro/pro.py search --update

常见问题

如果出现问题,请重建索引。

搜索关键字时,没有返回结果

搜索索引默认每10分钟更新一次,所以在执行第一次搜索更新之前,无论你搜索什么都没有结果。

无法搜索加密文件

服务器无法对加密文件进行索引,因为它们被加密了。

增加用于搜索的Java进程堆大小

搜索功能基于Elasticsearch服务,这是一个Java进程。要增加Java堆内存大小,可以通过修改jvm配置文件来修改Elasticsearch使用的内存大小空间。例如,修改为2G内存空间。

非docker运行:修改seafile-server-latest/pro/elasticsearch/config/jvm.options文件的以下配置项:

代码语言:javascript
复制
-Xms2g # 最小使用内存空间
-Xmx2g # 最大使用内存空间
### 建议将以上两个配置项的值设置为一样大小。

docker-compose 运行:docker-compose.yml 文件中,

代码语言:javascript
复制
elasticsearch:
  image: elasticsearch:7.16.2
  container_name: seafile-elasticsearch
  environment:
    - discovery.type=single-node
    - bootstrap.memory_lock=true
    # 修改下面这行
    - "ES_JAVA_OPTS=-Xms2g -Xmx2g"

重启seafile服务使上述修改生效:

非docker:

代码语言:javascript
复制
./seafile.sh restart
./seahub.sh restart

docker:

代码语言:javascript
复制
docker exec -it seafile /opt/seafile/seafile-server-latest/seafile.sh restart
docker exec -it seafile /opt/seafile/seafile-server-latest/seahub.sh restart
本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2023年04月07日,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 背景
  • 搜索选项
  • 启用 Office/PDF 文件的全文搜索
    • 运行命令
      • 【重要】对于docker运行网盘的时候
      • 对于非docker运行网盘
  • 常见问题
相关产品与服务
容器服务
腾讯云容器服务(Tencent Kubernetes Engine, TKE)基于原生 kubernetes 提供以容器为核心的、高度可扩展的高性能容器管理服务,覆盖 Serverless、边缘计算、分布式云等多种业务部署场景,业内首创单个集群兼容多种计算节点的容器资源管理模式。同时产品作为云原生 Finops 领先布道者,主导开源项目Crane,全面助力客户实现资源优化、成本控制。
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档