Raneto中文搜索支持
背景
因业务部门需要在线软件使用说明文档,但我们资源不足,故我想找一个开源的知识库,发现 Raneto不错,决定使用。
官方文档相当清晰,部署完成,发布一些文章,启动项目,交由业务同事测试使用,于是我收到 中文搜索 不支持反馈。查看其配置文件
example/config.default.js
// Support search with extra languages
searchExtraLanguages: ['ru'],在 `Raneto/node_modules/lunr-languages/`列表下并没有 `lunr.zh.js` 中文搜索支持文件,故此路不通。那就谷歌解决此问题了。
环境
Centos
Raneto 0.16.2
需求
二次开发 Raneto 中文搜索支持
解决
重命名
lunr文件夹
cd Raneto
mv ./node_modules/lunr node_modules/lunr_official
下载
https://github.com/codepiano/lunr.js文件夹并重命名为lunr
cd Raneto/node_modules
git clone https://github.com/codepiano/lunr.js && mv lunr.js lunr
修改
Raneto/app/core/search.js文件
1.复制该文件到 Raneto/app/core/目录里
cp Raneto/node_modules/lunr/lunr.js Raneto/app/core/
2.直接引用其 https://github.com/codepiano/lunr.js 的 lunr.js 文件,也就是Raneto/app/core/lunr.js,另外,注释其语言加载配置。
function getLunr (config) {
if (instance === null) {
// instance = require('lunr');
instance = require('./lunr.js');
// require('lunr-languages/lunr.stemmer.support')(instance);
// require('lunr-languages/lunr.multi')(instance);
// config.searchExtraLanguages.forEach(lang =>
// require('lunr-languages/lunr.' + lang)(instance)
// );
}
return instance;
3.注释默认设置加载的lunr配置
function handler (query, config) {
const contentDir = utils.normalizeDir(path.normalize(config.content_dir));
const documents = glob
.sync(contentDir + '**/*.md')
.map(filePath => contentProcessors.extractDocument(
contentDir, filePath, config.debug
))
.filter(doc => doc !== null);
const lunrInstance = getLunr(config);
const idx = lunrInstance(function () {
// 注释默认设置加载的lunr配置
// this.use(getStemmers(config));
this.field('title');
this.field('body');
this.ref('id');
documents.forEach((doc) => this.add(doc), this);
});
安装
nodejieba模块
npm install --save nodejieba
最后再次启动,支持中文搜索了
cd Raneto
npm start
引用
Raneto中文搜索支持的更多相关文章
- Raneto部署知识库平台&支持中文搜索
目录 环境 更新软件包 部署 Raneto 知识库平台 安装 Node 环境 安装 node 管理工具 查看 node 列表 安装需要的Node版本 使用 淘宝NPM源 git 使用代理设置,大陆地区 ...
- helm-mode打开文件支持中文搜索
helm-mode打开文件支持中文搜索 */--> code {color: #FF0000} pre.src {background-color: #002b36; color: #83949 ...
- MySQL 全文搜索支持, mysql 5.6.4支持Innodb的全文检索和类memcache的nosql支持
背景:搞个个人博客的全文搜索得用like啥的,现在mysql版本号已经大于5.6.4了也就支持了innodb的全文搜索了,刚查了下目前版本号都到MySQL Community Server 5.6.1 ...
- MySQL 全文搜索支持
MySQL 全文搜索支持 从MySQL 4.0以上 myisam引擎就支持了full text search 全文搜索,在一般的小网站或者blog上可以使用这个特性支持搜索. 那么怎么使用了,简单看看 ...
- Source Insight中文操作支持的宏
以下是Source Insight中文字符串支持的宏的实现,在此做个备份. 代码来自网上,非笔者所写.原有代码有个明显的Bug(Del的时候会导致多删除一个字符和多插入一个空格),已经被笔者fix掉. ...
- Cocos2d-x 对于中文的支持-----iconv库
Cocos2d-x 对于中文的支持-----iconv库 转自:http://momowing.diandian.com/post/2013-01-16/40047183777 Jetion: 我们在 ...
- Mybatis Generator的model生成中文注释,支持oracle和mysql(通过实现CommentGenerator接口的方法来实现)
自己手动实现的前提,对maven项目有基本的了解,在本地成功搭建了maven环境,可以参考我之前的文章:maven环境搭建 项目里新建表时model,mapper以及mapper.xml基本都是用My ...
- SciTE: 中文字符支持问题
SciTE: 中文字符支持问题 SciTE(Scintilla Text Editor)是一个体积小巧的文本编辑器. 但是它默认的设置对中文字符处理不好,其实只要对它进行相应的配置,就可以了. 1 ...
- 如何解决Firefox浏览器地址栏中文搜索速度很慢
一.插件安装 之前使用Chrome浏览器,习惯在地址栏中直接进行中文搜索.转到Firefox之后,突然发现在地址栏进行中文搜索,访问速度会很慢. 可以使用插件解决这个问题:Omnibar 插件地址:h ...
随机推荐
- 阿里云SLB出现502 Bad Gateway 错误排查解决方法
502 Bad Gateway The proxy server received an invalid response from an upstream server. 原本系统是通过一个SLB转 ...
- linux 上安装多个不同版本的mysql 踩的坑
最近由于业务需要,考虑使用json类型,据了解 mysql 在版本5.7中可以支持 json 类型的数据支持,但同时目前开发环境中使用的是 mysql 5.6版本,上面还有很多项目的数据库在上面,同时 ...
- 初试PySnooper
Pysooper是什么? 我们写代码会经常出现bug,有的人会使用断点调试器,但是设置这样的断点调试器是花时间的. 所以很多人会在可能出现错误的地方print打印来输出语句. Pysooper的作用有 ...
- 使用 coverlet 查看.NET Core应用的测试覆盖率
代码覆盖(Code coverage)是软件测试中的一种度量,描述程式中源代码被测试的比例和程度,所得比例称为代码覆盖率. Visual Studio 2017的企业版可以直接查看测试的代码覆盖率, ...
- load data infile
mysql> load data local infile 'd:/lw.txt' into table user (code,password,channelId);Query OK, 478 ...
- qt捕获全局windows消息
qt 如何捕获全屏的鼠标事件,这个帖子上面主要讲述了下嵌入式qt怎么抓取系统级消息,不过从这篇文章中我也看到了希望,有个回复说winEventFilter支持这种方式,然后我就顺着这个线索找到了na ...
- GlideDemo【Glide3.7.0版本的简单使用以及圆角功能】
版权声明:本文为HaiyuKing原创文章,转载请注明出处! 前言 本Demo主要记录Glide3.7.0版本的简单运用和实现圆角方案. 效果图 代码分析 Glide的centerCrop()和fit ...
- KnockoutJS-绑定元素
工作变更,又走回了WPF,一个来月没有接触web开发了,之前的KnockoutJS却不想放弃,继续进行知识的巩固,下个月开始重新走回web开发之路,还是得用回一些习惯了的工具.本次开始接触各绑定元素功 ...
- 安装Phalcon报错:gcc: Internal error: Killed (program cc1)
起因 安装Phalcon可以参考github上面的README.md 下面是我在阿里云ECS服务器上面执行命令的过程: # 安装依赖 sudo yum install php-devel pcre-d ...
- Python实战171202元组访问
学生信息系统中数据为固定格式: (名字,年龄,性别,邮箱地址,......) 学生数量很大为了减小存储开销,对每个学生信息用元组表示: ('jim',18,'male','jim8765@gmail. ...