大家好!
几个月前,我发布了一个框架叫做GMLiteSearch。
一个全文搜索包括许多特征以及n-gram索引和词干化。
今天,我发布了一个大更新:
新特性
面向切片搜索
- 多字段筛选 - 根据类别、标签、平台、价格或任何自定义字段筛选结果
- 聚合计数 - 展示每个面向切片值的结果数量(如电子商务过滤器)
- 范围面向切片 - 数值和日期范围分桶(价格:0-20,20-50,50+)
- AND/OR运算符 - 在面向切片组之间灵活地应用筛选逻辑
- 实时筛选管理 - 动态添加、移除和清除筛选条件
地理空间搜索
- 实地坐标 - 经度/纬度与哈弗辛距离计算
- 游戏坐标 - 2D和3D位置搜索用于开放世界游戏
- 网格优化 - 基于单元格的索引用于大世界(10,000+实体)
- 地理哈希支持 - 高效的邻近索引与邻居计算
- 半径和盒子搜索 - 在距离或边界区域内找到位置
学习排名(LTR)
- 可训练的相关性模型 - 基于用户点击学习的线性模型
- 7个内置特征 - BM25得分、词频、标题匹配、词覆盖、新鲜度、人气、文档长度
- 自定义特征 - 注册自己的特征提取函数
- 点击跟踪 - 记录用户点击和浏览次数用于人气提升
- 模型持久化 - 保存训练模型到JSON并重新载入
高级摘录
- 上下文感知摘录 - 在匹配项周围生成摘录
- 三种策略 - 最佳片段、周围上下文或平衡多句子
- 术语突出显示 - 可定制的标记符在匹配单词和短语周围
- 短语检测 - 引用字符串被提升并作为单元高亮显示
- 多个候选项 - 为UI选择生成多个摘录选项
查询理解
- 自动完成 - 用户输入时的实时建议,基于流行查询和索引项
- 拼写检查 - 基于用户查询的Levenshtein距离纠错
- 查询纠正 - 自动修复整个搜索查询
- 相关查询 - 基于点击行为和术语相似度的建议
- 流行查询跟踪 - 记录和检索最频繁的搜索
开发者工具
- 得分解释 - 文档得分的详细分解
- 性能分析 - 测量查询执行时间与统计
- 索引检查 - 健康检查、术语分布和样本文档
- 基准测试套件 - 自动性能测试与建议
- 术语调试 - 检查索引条目以特定单词
持久化增强
- 全索引导出/导入 - 将整个搜索状态保存到JSON
- LTR模型持久化 - 保存和载入训练的排名模型
- 快速恢复 - 在游戏启动时加载保存的索引
请给我你的想法!
评论 (0)