基于提示的生物医学分类系统搜索引擎框架
cateye的Python项目详细描述
类别
用于生物医学分类系统的支持提示的搜索引擎框架
功能
- 提示:显示搜索词的提示,可以快速缩小搜索结果的范围。
- 回退:如果没有满足查询的结果,系统会自动删除不太重要的搜索词。
- 拼写更正:查询术语的内置拼写更正。
- 缩写扩展:搜索过程中将自动应用预定义的缩写列表
- 排序结果:根据搜索历史对结果进行排序。
安装
$ git clone https://github.com/jeroyang/cateye.git
$ cd cateye
$ pip install -e .
用法
一。运行演示站点:
$ FLASK_APP=app.py FLASK_ENV=development flask run
然后浏览本地站点http://127.0.0.1:5000/
2.创建自己的网站:
2-1.检查常数。py:
在constants.py中设置基本变量: 站点标题、站点副标题、令牌文件夹、代码段文件夹、提示文件夹、拼写文件、缩写文件、索引url
swee对象将使用index_url,可以是以s3://开头的远程url,也可以是以file://开头的本地url,请检查Shove的文档。
2-2.数据准备
文件夹概述:
- data:搜索引擎的数据源,此子文件夹中的所有信息都使用术语id作为其文件名
- data/token:文档的标记,在元素化之后
- data/snippet:文档的html片段,将显示在搜索结果中
- data/提示:每个实体的提示
- data/spelling.txt:标记的形式拼写(在规范化之前)。如果可能,请根据使用频率对标记进行排序,最常用的词是第一个。
- data/缩写.txt:缩写,一对缩写对应一行,使用制表符分隔短格式和长格式
cateye包括一些非常基本的文本处理工具: 标记化器(cateye.tokenize)和柠檬化器(cateye.lemmatize)
tokenize函数将在两个地方使用:第一个地方是将文档剪切为令牌,第二个地方是将查询剪切为令牌。
lemmatizing函数将规范化您的令牌。如果您希望构建不区分大小写的搜索引擎,可以在标记上使用小写的lemmatizer。
2-3.建立索引:
在命令行中运行命令
$ cateye newindex
此命令读取token_文件夹中的文件,并在index_url中构建磁盘索引。这需要时间,具体取决于数据的大小。
2-4。运行应用程序:
$ FLASK_APP=app.py FLASK_ENV=development flask run
许可证
- 自由软件:麻省理工学院许可证