# MdNoteViewer **Repository Path**: amuliang/md-note-viewer ## Basic Information - **Project Name**: MdNoteViewer - **Description**: 用来查看本地的markdown笔记,并支持模糊搜索 - **Primary Language**: Python - **License**: Not specified - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 0 - **Created**: 2024-07-24 - **Last Updated**: 2024-08-16 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # MdNoteViewer ## 介绍 用来查看本地的markdown笔记,并支持模糊搜索。 markdown笔记资源文件要求:在每个markdown笔记文件所在目录下创建一个`.assets`文件夹,资源文件放在此目录中。 ## 搜索策略 搜索关键词中允许有空格,多个空白字符将被视为一个空格处理。 搜索匹配策略如下: - 对关键词进行精准匹配。标题完全匹配分数值为-1,段落完全匹配到分数值为-2。 - 如果上一步匹配不到,将关键词按照空格进行拆分,并对每个拆分后的关键词再进行词义分析分解出更多关键词。对关键词进行匹配,并对搜索结果进行评分。最优段落评分结果再结合全文关键词搜索情况进行权重加和,得到最终评分。评分值大于默认阈值则匹配通过。 - 对于评分大于一定值但小于阈值的,则继续进行模糊搜索。模糊搜索允许少量错别字情况出现,但是搜索时间较长。 ## 示例 ### 精确搜索示例 例如标题为: ``` Linux - 字符串和文本内容操作方法汇总 ``` 如果搜索词为`linux字符串操作`,则会被分解成`linux` 、`字符串`、`操作`三个词,由于标题中存在这三个词,匹配度非常高,因此可以正常匹配 ### 模糊搜索示例 例如标题为: ``` Linux - 快速开启web服务 ``` 对于上面的标题,如果搜索词为`启动web`,因为相似度较高,可以正常匹配 例如段落为: ``` Webshell是黑客经常使用的一种恶意脚本,其目的是获得对服务器的执行操作权限,比如执行系统命令、窃取用户数据、删除web页面、修改主页等,其危害不言而喻。 ``` 对于上面的段落,如果我们的搜索词拼写错误,写成了`webshall`,则仍然可以搜索出来 ## 使用说明 先安装依赖 ``` pip install -r requirements.txt ``` 指定笔记目录,运行服务 ``` python .\note_server.py F:\md\Note ``` 浏览器访问地址:`http://localhost:8000` 适合手机的访问地址:`http://localhost:8000/note`