项目简介
本项目旨在通过融合排序模型(RankLib 或 XGBOOST)与 Elasticsearch,实现电影搜索排序的优化,提升搜索排序的准确性。
项目的主要特性和功能
主要特性
- 融合排序模型(RankLib 或 XGBOOST)与 Elasticsearch,有效提升搜索排序的准确性。
- 支持通过编程或命令行操作训练模型,操作灵活方便。
- 可控制模型得分与原查询得分的权重,实现个性化排序。
主要功能
- 数据准备:下载 RankLib.jar 与 tmdb.json 数据集。
- 索引创建与数据插入:创建 Elasticsearch 索引并插入 tmdb.json 数据。
- 模型训练:创建特征存储、特征集,记录特征分数,生成训练数据并训练模型,最后将模型嵌入 es。
- 搜索查询:使用 sltr 语句进行搜索,得到优化后的搜索结果。
安装使用步骤
环境准备
- 确保已安装 es 6.1.2。
- 安装 ltr - 1.0.0 - es6.1.2.zip 插件。
- 准备 Python 环境。
运行步骤
- 运行
prepare.py
:下载 RankLib.jar 与 tmdb.json。 - 运行
create_insert.py
:创建index
并将tmdbs.json
插入。 - 运行
train.py
:- 创建
feature store
。 - 创建
feature set
。 - 进行
feature logging
生成训练数据。 - 训练生成模型文件并将模型插入 es。
- 创建
- 运行
search.py
:使用sltr
语句进行搜索。
注意事项
- 修改源码中的文件路径以适配本地环境。
- 该插件无法适应
es 6.0.0
版本,且无法与现有jieba
插件兼容同一版本 es。
下载地址
点击下载 【提取码: 4003】【解压密码: www.makuang.net】