Skip to content

前端页面文本搜索及高亮 #4

@Dream4ever

Description

@Dream4ever

需求描述

同事之前做的电子书实现了文本搜索的功能,自己能不能实现得更优雅一些呢?之前的搜索方案,是获取后端数据库的查询结果,这样许多人同时搜索的话,服务器的压力就会很大。

自己想了想,这个搜索功能和其它业务没有耦合,那么就完全可以做成纯前端的搜索。

方案调研

两大搜索方向:官方文档 + 实例教程

关键字清单

入选方案

mark.js

排除方案

  • 2018-05-17:又看了一下之前研究的几个方向,中文不需要分词,否则一旦分词的结果和搜索的关键字刚好错位那就麻烦了。那么 lunr.js 和结巴分词就都不考虑了。

  • 2018-05-15:又看了一下 Algolia 的 收费方案,如果要上架一批电子书的话,显然很容易就会超出免费版的用量,那看来还是得找能够架设在自己服务器上的免费方案。

  • search-index:不支持中文搜索,demo 也很潦草,不好用。

  • lunr.js:中文分词没有很好的插件。

  • 结巴分词:纯前端搜索,无需分词。

  • Algolia:免费版的功能有限,无法实际应用。

应用过程

要点总结

Metadata

Metadata

Assignees

No one assigned

    Labels

    Front-endEverything you see and experienceJSJavascript

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions