当前位置: 首页 > backend >正文

自托管图书搜索引擎Bookologia

在这里插入图片描述

简介

什么是 Bookologia ?

Bookologia 是一个专门的书籍搜索引擎,可以在几秒钟内找到任何书籍。它是开源的,可以轻松自托管在 Docker 上,为用户提供一个简单而高效的书籍查找体验。

主要特点

  1. 简洁的用户界面:界面设计简单,用户只需按下回车键即可提交搜索,无需多余的按钮。
  2. 快速搜索:用户可以在几秒钟内通过书名搜索数百万本书籍。
  3. 百万书籍搜索:用户可以通过书名搜索数百万本书籍。
  4. 创建和管理书籍收藏:用户可以创建和管理自己的书籍收藏,以便于后续查阅。
  5. 个性化推荐:根据用户的喜好和收藏,提供推荐书籍和作者的其他作品。
  6. 高级用户功能:提供一个爬虫引擎,能够从 GoodReads 中收集书籍元数据。

应用场景

  • 知识工作者:针对工程师、医生、律师等需要快速查找专业书籍的人群。
  • 学生和研究人员:帮助学生和研究人员快速找到所需的教材和参考书。
  • 图书馆和教育机构:可以作为图书馆的书籍管理和检索工具。

Bookologia 通过提供高效的书籍搜索和管理解决方案,帮助用户更好地获取和利用信息。

安装

在群晖上以 Docker 方式安装。

采用 docker-compose 安装,将下面的内容保存为 docker-compose.yml 文件

version: '3.8'services:bookologia-es:image: yousb0t/bookologia-elasticcontainer_name: bookologia-esports:- "5102:9200"environment:- discovery.type=single-node- xpack.security.enabled=falsebookologia-app:image: yousb0t/bookologia-appcontainer_name: bookologia-appports:- "5101:5001"depends_on:- bookologia-es

然后执行下面的命令

# 新建文件夹 bookologia
mkdir -p /volume1/docker/bookologia# 进入 bookologia 目录
cd /volume1/docker/bookologia# 将 docker-compose.yml 放入当前目录# 一键启动
docker-compose up -d

运行

在浏览器中输入 http://群晖IP:5102 就能看到服务端的信息

在浏览器中输入 http://群晖IP:5101 才是前端应用的界面

第一次需要注册账号

登录成功后的主界面非常简洁

输入想搜的内容

进入书籍详情页面

如果存在链接的话会显示

从使用效果看,对中文的支持不太友好,效果也不如其依赖的 GoodReads,只是胜在可以自托管。另外, Elasticsearch 对内存占用也比较高

参考文档

blankresearch/Bookologia: A book search engine that finds any book in seconds
地址:https://github.com/blankresearch/Bookologia

Sample Page
地址:http://www.blankresearch.com/Bookologia/

http://www.xdnf.cn/news/12411.html

相关文章:

  • EasyRTC嵌入式音视频通信SDK助力物联网/视频物联网音视频打造全场景应用
  • 6.6 day38
  • 现实生活例子[特殊字符] 通俗易懂的解释[特殊字符] JS中的原型和原型链[特殊字符]
  • AC68U刷梅林384/386版本后不能 降级回380,升降级解决办法
  • 一个WebRTC 分辨率动态爬升问题记录与解决过程
  • SQLServer中的存储过程与事务
  • Kafka 快速上手:安装部署与 HelloWorld 实践(二)
  • Kafka 快速上手:安装部署与 HelloWorld 实践(一)
  • uniapp 设置手机不息屏
  • Go 中 map 的双值检测写法详解
  • 从零实现STL哈希容器:unordered_map/unordered_set封装详解
  • Transformer-BiGRU多变量时序预测(Matlab完整源码和数据)
  • Python概率统计可视化——概率分布、假设检验与分子运动模型
  • GNSS终端授时方式-合集:PPS、B码、NTP、PTP、单站授时,共视授时
  • Go 中的 Map 与字符处理指南
  • Transformer架构解析:Encoder与Decoder核心差异、生成式解码技术详解
  • Python读取PDF:文本、图片与文档属性
  • Linux文件系统详解:从入门到精通
  • Chrome书签的导出与导入:步骤图
  • 高温IC设计带来的挑战和问题
  • Java + Spring Boot + Mybatis 实现批量插入
  • 96. 2017年蓝桥杯省赛 - Excel地址(困难)- 进制转换
  • 大数据学习(131)-Hive数据分析函数总结
  • 金融系统渗透测试
  • 【Kotlin】协程
  • .net 使用MQTT订阅消息
  • 使用React+ant Table 实现 表格无限循环滚动播放
  • 【Oracle APEX开发小技巧12】
  • 使用VuePress2.X构建个人知识博客,并且用个人域名部署到GitHub Pages中
  • 基于uniapp+WebSocket实现聊天对话、消息监听、消息推送、聊天室等功能,多端兼容