代码来自https://github.com/leo-buneev/vuepress-plugin-fulltext-search,但是只支持英文全文搜索,做了部分改动
-
修改flexsearch默认配置
-
使用中文分词模块segmentit
// ./services/flexsearchSvc.js
// flexsearch 默认配置的修改, 以及引入中文分词模块
let defaultOptions = {
encode: false,
async: true,
tokenize: function(str){
var result = segmentit.doSegment(str, {
simple: true
});
return result;
}
}
-
把整体代码拷贝到vuepress项目目录下,如
. ├─ docs ├─ myPlugins │ └─ fullSearchBox // 当前插件所在文件夹 └─ package.json
-
在
config.js
中引用该插件plugins: [ require.resolve('../../myPlugins/fullSearchBox/') ]
-
在
package.json
中加入以下依赖"devDependencies": { "flexsearch": "nextapps-de/flexsearch", "html-to-text": "^5.1.1", "segmentit": "^2.0.3", }
-
安装依赖
npm i
-
运行
加载segment词典会有1 - 2s的卡顿
MIT