littlebot
Published on 2025-04-03 / 5 Visits
0

【源码】基于Python和Elasticsearch的电影搜索排序优化系统

项目简介

本项目旨在通过融合排序模型(RankLib 或 XGBOOST)与 Elasticsearch,实现电影搜索排序的优化,提升搜索排序的准确性。

项目的主要特性和功能

主要特性

  1. 融合排序模型(RankLib 或 XGBOOST)与 Elasticsearch,有效提升搜索排序的准确性。
  2. 支持通过编程或命令行操作训练模型,操作灵活方便。
  3. 可控制模型得分与原查询得分的权重,实现个性化排序。

主要功能

  1. 数据准备:下载 RankLib.jar 与 tmdb.json 数据集。
  2. 索引创建与数据插入:创建 Elasticsearch 索引并插入 tmdb.json 数据。
  3. 模型训练:创建特征存储、特征集,记录特征分数,生成训练数据并训练模型,最后将模型嵌入 es。
  4. 搜索查询:使用 sltr 语句进行搜索,得到优化后的搜索结果。

安装使用步骤

环境准备

  1. 确保已安装 es 6.1.2
  2. 安装 ltr - 1.0.0 - es6.1.2.zip 插件。
  3. 准备 Python 环境。

运行步骤

  1. 运行 prepare.py:下载 RankLib.jar 与 tmdb.json。
  2. 运行 create_insert.py:创建 index 并将 tmdbs.json 插入。
  3. 运行 train.py
    • 创建 feature store
    • 创建 feature set
    • 进行 feature logging 生成训练数据。
    • 训练生成模型文件并将模型插入 es。
  4. 运行 search.py:使用 sltr 语句进行搜索。

注意事项

  1. 修改源码中的文件路径以适配本地环境。
  2. 该插件无法适应 es 6.0.0 版本,且无法与现有 jieba 插件兼容同一版本 es。

下载地址

点击下载 【提取码: 4003】【解压密码: www.makuang.net】