[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"similar-metarank--metarank":3,"tool-metarank--metarank":64},[4,17,27,35,43,56],{"id":5,"name":6,"github_repo":7,"description_zh":8,"stars":9,"difficulty_score":10,"last_commit_at":11,"category_tags":12,"status":16},3808,"stable-diffusion-webui","AUTOMATIC1111\u002Fstable-diffusion-webui","stable-diffusion-webui 是一个基于 Gradio 构建的网页版操作界面，旨在让用户能够轻松地在本地运行和使用强大的 Stable Diffusion 图像生成模型。它解决了原始模型依赖命令行、操作门槛高且功能分散的痛点，将复杂的 AI 绘图流程整合进一个直观易用的图形化平台。\n\n无论是希望快速上手的普通创作者、需要精细控制画面细节的设计师，还是想要深入探索模型潜力的开发者与研究人员，都能从中获益。其核心亮点在于极高的功能丰富度：不仅支持文生图、图生图、局部重绘（Inpainting）和外绘（Outpainting）等基础模式，还独创了注意力机制调整、提示词矩阵、负向提示词以及“高清修复”等高级功能。此外，它内置了 GFPGAN 和 CodeFormer 等人脸修复工具，支持多种神经网络放大算法，并允许用户通过插件系统无限扩展能力。即使是显存有限的设备，stable-diffusion-webui 也提供了相应的优化选项，让高质量的 AI 艺术创作变得触手可及。",162132,3,"2026-04-05T11:01:52",[13,14,15],"开发框架","图像","Agent","ready",{"id":18,"name":19,"github_repo":20,"description_zh":21,"stars":22,"difficulty_score":23,"last_commit_at":24,"category_tags":25,"status":16},1381,"everything-claude-code","affaan-m\u002Feverything-claude-code","everything-claude-code 是一套专为 AI 编程助手（如 Claude Code、Codex、Cursor 等）打造的高性能优化系统。它不仅仅是一组配置文件，而是一个经过长期实战打磨的完整框架，旨在解决 AI 代理在实际开发中面临的效率低下、记忆丢失、安全隐患及缺乏持续学习能力等核心痛点。\n\n通过引入技能模块化、直觉增强、记忆持久化机制以及内置的安全扫描功能，everything-claude-code 能显著提升 AI 在复杂任务中的表现，帮助开发者构建更稳定、更智能的生产级 AI 代理。其独特的“研究优先”开发理念和针对 Token 消耗的优化策略，使得模型响应更快、成本更低，同时有效防御潜在的攻击向量。\n\n这套工具特别适合软件开发者、AI 研究人员以及希望深度定制 AI 工作流的技术团队使用。无论您是在构建大型代码库，还是需要 AI 协助进行安全审计与自动化测试，everything-claude-code 都能提供强大的底层支持。作为一个曾荣获 Anthropic 黑客大奖的开源项目，它融合了多语言支持与丰富的实战钩子（hooks），让 AI 真正成长为懂上",140436,2,"2026-04-05T23:32:43",[13,15,26],"语言模型",{"id":28,"name":29,"github_repo":30,"description_zh":31,"stars":32,"difficulty_score":23,"last_commit_at":33,"category_tags":34,"status":16},2271,"ComfyUI","Comfy-Org\u002FComfyUI","ComfyUI 是一款功能强大且高度模块化的视觉 AI 引擎，专为设计和执行复杂的 Stable Diffusion 图像生成流程而打造。它摒弃了传统的代码编写模式，采用直观的节点式流程图界面，让用户通过连接不同的功能模块即可构建个性化的生成管线。\n\n这一设计巧妙解决了高级 AI 绘图工作流配置复杂、灵活性不足的痛点。用户无需具备编程背景，也能自由组合模型、调整参数并实时预览效果，轻松实现从基础文生图到多步骤高清修复等各类复杂任务。ComfyUI 拥有极佳的兼容性，不仅支持 Windows、macOS 和 Linux 全平台，还广泛适配 NVIDIA、AMD、Intel 及苹果 Silicon 等多种硬件架构，并率先支持 SDXL、Flux、SD3 等前沿模型。\n\n无论是希望深入探索算法潜力的研究人员和开发者，还是追求极致创作自由度的设计师与资深 AI 绘画爱好者，ComfyUI 都能提供强大的支持。其独特的模块化架构允许社区不断扩展新功能，使其成为当前最灵活、生态最丰富的开源扩散模型工具之一，帮助用户将创意高效转化为现实。",107662,"2026-04-03T11:11:01",[13,14,15],{"id":36,"name":37,"github_repo":38,"description_zh":39,"stars":40,"difficulty_score":23,"last_commit_at":41,"category_tags":42,"status":16},3704,"NextChat","ChatGPTNextWeb\u002FNextChat","NextChat 是一款轻量且极速的 AI 助手，旨在为用户提供流畅、跨平台的大模型交互体验。它完美解决了用户在多设备间切换时难以保持对话连续性，以及面对众多 AI 模型不知如何统一管理的痛点。无论是日常办公、学习辅助还是创意激发，NextChat 都能让用户随时随地通过网页、iOS、Android、Windows、MacOS 或 Linux 端无缝接入智能服务。\n\n这款工具非常适合普通用户、学生、职场人士以及需要私有化部署的企业团队使用。对于开发者而言，它也提供了便捷的自托管方案，支持一键部署到 Vercel 或 Zeabur 等平台。\n\nNextChat 的核心亮点在于其广泛的模型兼容性，原生支持 Claude、DeepSeek、GPT-4 及 Gemini Pro 等主流大模型，让用户在一个界面即可自由切换不同 AI 能力。此外，它还率先支持 MCP（Model Context Protocol）协议，增强了上下文处理能力。针对企业用户，NextChat 提供专业版解决方案，具备品牌定制、细粒度权限控制、内部知识库整合及安全审计等功能，满足公司对数据隐私和个性化管理的高标准要求。",87618,"2026-04-05T07:20:52",[13,26],{"id":44,"name":45,"github_repo":46,"description_zh":47,"stars":48,"difficulty_score":23,"last_commit_at":49,"category_tags":50,"status":16},2268,"ML-For-Beginners","microsoft\u002FML-For-Beginners","ML-For-Beginners 是由微软推出的一套系统化机器学习入门课程，旨在帮助零基础用户轻松掌握经典机器学习知识。这套课程将学习路径规划为 12 周，包含 26 节精炼课程和 52 道配套测验，内容涵盖从基础概念到实际应用的完整流程，有效解决了初学者面对庞大知识体系时无从下手、缺乏结构化指导的痛点。\n\n无论是希望转型的开发者、需要补充算法背景的研究人员，还是对人工智能充满好奇的普通爱好者，都能从中受益。课程不仅提供了清晰的理论讲解，还强调动手实践，让用户在循序渐进中建立扎实的技能基础。其独特的亮点在于强大的多语言支持，通过自动化机制提供了包括简体中文在内的 50 多种语言版本，极大地降低了全球不同背景用户的学习门槛。此外，项目采用开源协作模式，社区活跃且内容持续更新，确保学习者能获取前沿且准确的技术资讯。如果你正寻找一条清晰、友好且专业的机器学习入门之路，ML-For-Beginners 将是理想的起点。",84991,"2026-04-05T10:45:23",[14,51,52,53,15,54,26,13,55],"数据工具","视频","插件","其他","音频",{"id":57,"name":58,"github_repo":59,"description_zh":60,"stars":61,"difficulty_score":10,"last_commit_at":62,"category_tags":63,"status":16},3128,"ragflow","infiniflow\u002Fragflow","RAGFlow 是一款领先的开源检索增强生成（RAG）引擎，旨在为大语言模型构建更精准、可靠的上下文层。它巧妙地将前沿的 RAG 技术与智能体（Agent）能力相结合，不仅支持从各类文档中高效提取知识，还能让模型基于这些知识进行逻辑推理和任务执行。\n\n在大模型应用中，幻觉问题和知识滞后是常见痛点。RAGFlow 通过深度解析复杂文档结构（如表格、图表及混合排版），显著提升了信息检索的准确度，从而有效减少模型“胡编乱造”的现象，确保回答既有据可依又具备时效性。其内置的智能体机制更进一步，使系统不仅能回答问题，还能自主规划步骤解决复杂问题。\n\n这款工具特别适合开发者、企业技术团队以及 AI 研究人员使用。无论是希望快速搭建私有知识库问答系统，还是致力于探索大模型在垂直领域落地的创新者，都能从中受益。RAGFlow 提供了可视化的工作流编排界面和灵活的 API 接口，既降低了非算法背景用户的上手门槛，也满足了专业开发者对系统深度定制的需求。作为基于 Apache 2.0 协议开源的项目，它正成为连接通用大模型与行业专有知识之间的重要桥梁。",77062,"2026-04-04T04:44:48",[15,14,13,26,54],{"id":65,"github_repo":66,"name":67,"description_en":68,"description_zh":69,"ai_summary_zh":70,"readme_en":71,"readme_zh":72,"quickstart_zh":73,"use_case_zh":74,"hero_image_url":75,"owner_login":67,"owner_name":76,"owner_avatar_url":77,"owner_bio":78,"owner_company":79,"owner_location":79,"owner_email":79,"owner_twitter":79,"owner_website":80,"owner_url":81,"languages":82,"stars":98,"forks":99,"last_commit_at":100,"license":101,"difficulty_score":10,"env_os":102,"env_gpu":103,"env_ram":103,"env_deps":104,"category_tags":108,"github_topics":109,"view_count":23,"oss_zip_url":79,"oss_zip_packed_at":79,"status":16,"created_at":123,"updated_at":124,"faqs":125,"releases":155},2475,"metarank\u002Fmetarank","metarank","A low code Machine Learning personalized ranking service for articles, listings, search results, recommendations that boosts user engagement. A friendly Learn-to-Rank engine","Metarank 是一款开源的低代码机器学习排序服务，旨在为文章列表、搜索结果和推荐系统提供实时个性化排序能力，从而有效提升用户参与度。它本质上是一个友好且高效的“学习排序”（Learn-to-Rank）引擎，能够帮助开发者在不从头构建复杂算法的情况下，轻松实现智能化的内容分发。\n\n在实际应用中，许多现有的搜索和推荐系统往往缺乏对用户行为的实时响应能力，导致结果不够精准。Metarank 正是为了解决这一痛点而生。它能够无缝集成点击、购买等用户行为信号，通过实时追踪访客画像，动态调整排序结果以优化点击率（CTR）。此外，它还支持利用大语言模型（LLM）进行语义理解，让搜索系统真正“读懂”查询意图，而不仅仅是匹配关键词。\n\n对于技术团队而言，Metarank 极大地节省了开发时间。它内置了数十种常见的排序特征提取器（如 CTR、来源、用户代理等），无需编写额外的临时代码即可处理大多数常规排序需求。在性能方面，Metarank 针对重排序延迟进行了深度优化，即使在处理大规模结果集时也能将耗时控制在 10-20 毫秒以内。作为无状态的云原生服务，它借助 Redis 管理状态，支持水平扩展，能","Metarank 是一款开源的低代码机器学习排序服务，旨在为文章列表、搜索结果和推荐系统提供实时个性化排序能力，从而有效提升用户参与度。它本质上是一个友好且高效的“学习排序”（Learn-to-Rank）引擎，能够帮助开发者在不从头构建复杂算法的情况下，轻松实现智能化的内容分发。\n\n在实际应用中，许多现有的搜索和推荐系统往往缺乏对用户行为的实时响应能力，导致结果不够精准。Metarank 正是为了解决这一痛点而生。它能够无缝集成点击、购买等用户行为信号，通过实时追踪访客画像，动态调整排序结果以优化点击率（CTR）。此外，它还支持利用大语言模型（LLM）进行语义理解，让搜索系统真正“读懂”查询意图，而不仅仅是匹配关键词。\n\n对于技术团队而言，Metarank 极大地节省了开发时间。它内置了数十种常见的排序特征提取器（如 CTR、来源、用户代理等），无需编写额外的临时代码即可处理大多数常规排序需求。在性能方面，Metarank 针对重排序延迟进行了深度优化，即使在处理大规模结果集时也能将耗时控制在 10-20 毫秒以内。作为无状态的云原生服务，它借助 Redis 管理状态，支持水平扩展，能够轻松应对数千次每秒的高并发请求。\n\nMetarank 非常适合后端开发者、搜索工程师以及数据科学家使用，特别是那些希望基于 Elasticsearch、OpenSearch 等现有搜索引擎构建高级语义搜索、协同过滤推荐或混合排序系统的技术团队。无论是解决搜索冷启动问题，还是提升电商平台的“猜你喜欢”准确度，Metarank 都是一个高效、灵活且易于集成的理想选择。","\u003Ch1 align=\"center\">\n    \u003Ca style=\"text-decoration: none\" href=\"https:\u002F\u002Fwww.metarank.ai\">\n      \u003Cimg width=\"120\" src=\"https:\u002F\u002Fraw.githubusercontent.com\u002Fmetarank\u002Fmetarank\u002Fmaster\u002Fdoc\u002Fimg\u002Flogo.svg\" \u002F>\n      \u003Cp align=\"center\">Metarank: real time personalization as a service\u003C\u002Fp>\n    \u003C\u002Fa>\n\u003C\u002Fh1>\n\u003Ch2 align=\"center\">\n  \u003Ca href=\"https:\u002F\u002Fdocs.metarank.ai\">Docs\u003C\u002Fa> | \u003Ca href=\"https:\u002F\u002Fmetarank.ai\">Website\u003C\u002Fa> | \u003Ca href=\"https:\u002F\u002Fmetarank.ai\u002Fslack\">Community Slack\u003C\u002Fa> | \u003Ca href=\"https:\u002F\u002Fblog.metarank.ai\">Blog\u003C\u002Fa> | \u003Ca href=\"https:\u002F\u002Fdemo.metarank.ai\">Demo\u003C\u002Fa>\n\u003C\u002Fh2>\n\n[![CI Status](https:\u002F\u002Fgithub.com\u002Fmetarank\u002Fmetarank\u002Fworkflows\u002FTests\u002Fbadge.svg)](https:\u002F\u002Fgithub.com\u002Fmetarank\u002Fmetarank\u002Factions)\n[![License: Apache 2](https:\u002F\u002Fimg.shields.io\u002Fbadge\u002FLicense-Apache2-green.svg)](https:\u002F\u002Fopensource.org\u002Flicenses\u002FApache-2.0)\n![Last commit](https:\u002F\u002Fimg.shields.io\u002Fgithub\u002Flast-commit\u002Fmetarank\u002Fmetarank)\n![Last release](https:\u002F\u002Fimg.shields.io\u002Fgithub\u002Frelease\u002Fmetarank\u002Fmetarank)\n[![Join our slack](https:\u002F\u002Fimg.shields.io\u002Fbadge\u002FSlack-join%20the%20community-blue?logo=slack&style=social)](https:\u002F\u002Fmetarank.ai\u002Fslack)\n\n\n# What is Metarank?\n\n[Metarank](https:\u002F\u002Fmetarank.ai) is an open-source ranking service. It can help you to build a personalized semantic\u002Fneural search and recommendations.\n\nIf you just want to get started, try:\n* the [quickstart](https:\u002F\u002Fdocs.metarank.ai\u002Fintroduction\u002Fquickstart) tutorial of implementing Learning-to-Rank on top of your search engine.\n* a [semantic search guide](TODO) of building an LLM-based neural search.\n* a [collaborative filtering recommendations guide](TODO) to create a \"you may also like\" widget as seen on many e-commerce stores.\n\n## Why Metarank?\n\nWith Metarank, you can make your existing search and recommendations **smarter**:\n* Integrate customer signals like clicks and purchases into the ranking - and optimize for maximal CTR!\n* Track [visitor profile](https:\u002F\u002Fdocs.metarank.ai\u002Freference\u002Foverview\u002Ffeature-extractors\u002Fuser-session) and make search results adapt to user actions with real-time personalization.\n* Use [LLMs in bi- and cross-encoder mode](https:\u002F\u002Fdocs.metarank.ai\u002Freference\u002Foverview\u002Ffeature-extractors\u002Ftext) to make your search understand the true meaning of search queries.\n\nMetarank is **fast**:\n* optimized for reranking latency, it can handle even large result sets within 10-20ms. See [benchmarks](https:\u002F\u002Fdocs.metarank.ai\u002Fintroduction\u002Fperformance).\n* as a stateless cloud-native service (with state managed by Redis), it can scale horizontally and process thousands of RPS. See [Kubernetes deployment guide](https:\u002F\u002Fdocs.metarank.ai\u002Freference\u002Fdeployment-overview\u002Fkubernetes) for details.\n\nSave your **development time**:\n* Metarank can compute dozens of typical ranking signals out of the box: CTR, referer, User-Agent, time, etc - you don't need to write custom ad-hoc code for most common ranking factors. See [the full list of supported ranking signals](https:\u002F\u002Fdocs.metarank.ai\u002Freference\u002Foverview\u002Ffeature-extractors) in our docs.\n* There are integrations with many possible streaming processing systems to ingest visitor signals: See [data sources](https:\u002F\u002Fdocs.metarank.ai\u002Freference\u002Foverview\u002Fdata-sources) for details.\n\n## What can you build with Metarank?\n\nMetarank helps you build advanced ranking systems for search and recommendations:\n* Semantic search: use state-of-the-art LLMs to make your Elasticsearch\u002FOpenSearch understand the meaning of your queries\n* Recommendations: traditional collaborative-filtering and new-age semantic content recommendations.\n* Learning-to-Rank: optimize your existing search\n\n## Content\n\nBlog posts:\n* [Learn-to-Rank with OpenSearch and Metarank](https:\u002F\u002Fopensearch.org\u002Fblog\u002Fltr-with-opensearch-and-metarank\u002F)\n* [Hybrid Search and Learning-to-Rank with Metarank](https:\u002F\u002Fwww.pinecone.io\u002Flearn\u002Fmetarank\u002F)\n* [Solving a search cold-start problem with aggregated CTR](https:\u002F\u002Fblog.metarank.ai\u002Fsolving-a-search-cold-start-problem-with-aggregated-ctr-b88c14f4d03c)\n* [Personalized search with Metarank and Elasticsearch](https:\u002F\u002Fblog.metarank.ai\u002Fpersonalized-search-with-metarank-and-elasticsearch-a5a098548da7)\n\nMeetups and conference talks:\n* [Building an open-source online Learn-to-rank engine](https:\u002F\u002Fwww.youtube.com\u002Fwatch?v=lbbp4CFWZGk), Haystack EU 23, [slides](https:\u002F\u002Fmetarank.github.io\u002Fhaystack-eu22\u002F#\u002F)\n* [Overcoming position and presentation biases in search and recommender systems](https:\u002F\u002Fwww.youtube.com\u002Fwatch?v=PqbYdDiwKBY), Data Natives Meetup Berlin, [slides](https:\u002F\u002Fmetarank.github.io\u002Fbias-talk\u002F#\u002F)\n* [Learning-to-rank: Deep, fast, precise - choose any two](https:\u002F\u002Fwww.youtube.com\u002Fwatch?v=oXfFqAKf4Ac), DataTalks meetup, [slides](https:\u002F\u002Fmetarank.github.io\u002Fdatatalks-ltr-talk\u002F#\u002F)\n\n## Main features\n\n* Semantic neural search: [TODO]\n* Recommendations: [trending](doc\u002Fconfiguration\u002Frecommendations\u002Ftrending.md) and [similar-items](configuration\u002Frecommendations\u002Fsimilar.md) (MF ALS).\n* Personalization: [secondary reranking](doc\u002Fquickstart\u002Fquickstart.md) (LambdaMART)\n* AutoML: [automatic feature generation](doc\u002Fhowto\u002Fautofeature.md) and [model re-training](howto\u002Fmodel-retraining.md)\n* A\u002FB testing: [multiple model serving](doc\u002Fconfiguration\u002Foverview.md#models)\n\n## Demo\n\nYou can play with Metarank demo on [demo.metarank.ai](https:\u002F\u002Fdemo.metarank.ai):\n\n![Demo](https:\u002F\u002Foss.gittoolsai.com\u002Fimages\u002Fmetarank_metarank_readme_fc6741f05e95.gif)\n\nThe demo itself and [the data used](https:\u002F\u002Fgithub.com\u002Fmetarank\u002Fmsrd) are open-source and you can grab a copy of training events and config file [in the github repo](https:\u002F\u002Fgithub.com\u002Fmetarank\u002Fmetarank\u002Ftree\u002Fmaster\u002Fsrc\u002Ftest\u002Fresources\u002Franklens).\n\n## Metarank in One Minute\n\nLet us show how you can start personalizing content with LambdaMART-based reranking in just under a minute:\n\n1. Prepare the data: we will get the dataset and config file from the [demo.metarank.ai](https:\u002F\u002Fdemo.metarank.ai)\n2. Start Metarank in a standalone mode: it will import the data, train the ML model and start the API.\n3. Send a couple of requests to the API.\n\n### Step 1: Prepare data\n\nWe will use the [ranklens dataset](https:\u002F\u002Fgithub.com\u002Fmetarank\u002Franklens), which is used in our [Demo](https:\u002F\u002Fdemo.metarank.ai), so just download the data file\n\n```bash\ncurl -O -L https:\u002F\u002Fgithub.com\u002Fmetarank\u002Fmetarank\u002Fraw\u002Fmaster\u002Fsrc\u002Ftest\u002Fresources\u002Franklens\u002Fevents\u002Fevents.jsonl.gz\n```\n\n### Step 2: Prepare configuration file\n\nWe will again use the configuration file from our [Demo](https:\u002F\u002Fdemo.metarank.ai). It utilizes in-memory store, so no other dependencies are needed.\n\n\n```bash\ncurl -O -L https:\u002F\u002Fraw.githubusercontent.com\u002Fmetarank\u002Fmetarank\u002Fmaster\u002Fsrc\u002Ftest\u002Fresources\u002Franklens\u002Fconfig.yml\n```\n\n### Step 3: Start Metarank!\n\nWith the final step we will use Metarank’s `standalone` mode that combines training and running the API into one command:\n\n```bash\ndocker run -i -t -p 8080:8080 -v $(pwd):\u002Fopt\u002Fmetarank metarank\u002Fmetarank:latest standalone --config \u002Fopt\u002Fmetarank\u002Fconfig.yml --data \u002Fopt\u002Fmetarank\u002Fevents.jsonl.gz\n```\n\nYou will see some useful output while Metarank is starting and grinding through the data. Once this is done, you can send requests to `localhost:8080` to get personalized results.\n\nHere we will interact with several movies by clicking on one of them and observing the results. \n\n> First, let's see the initial output provided by Metarank without before we interact with it\n\n```bash\n# get initial ranking for some items\ncurl http:\u002F\u002Flocalhost:8080\u002Frank\u002Fxgboost \\\n    -d '{\n    \"event\": \"ranking\",\n    \"id\": \"id1\",\n    \"items\": [\n        {\"id\":\"72998\"}, {\"id\":\"67197\"}, {\"id\":\"77561\"},\n        {\"id\":\"68358\"}, {\"id\":\"79132\"}, {\"id\":\"103228\"}, \n        {\"id\":\"72378\"}, {\"id\":\"85131\"}, {\"id\":\"94864\"}, \n        {\"id\":\"68791\"}, {\"id\":\"93363\"}, {\"id\":\"112623\"}\n    ],\n    \"user\": \"alice\",\n    \"session\": \"alice1\",\n    \"timestamp\": 1661431886711\n}'\n\n# {\"item\":\"72998\",\"score\":0.9602446652021992},{\"item\":\"79132\",\"score\":0.7819134441404151},{\"item\":\"68358\",\"score\":0.33377910321385645},{\"item\":\"112623\",\"score\":0.32591281190727805},{\"item\":\"103228\",\"score\":0.31640256043322723},{\"item\":\"77561\",\"score\":0.3040782705414116},{\"item\":\"94864\",\"score\":0.17659007036183608},{\"item\":\"72378\",\"score\":0.06164568676567339},{\"item\":\"93363\",\"score\":0.058120639770243385},{\"item\":\"68791\",\"score\":0.026919880032451306},{\"item\":\"85131\",\"score\":-0.35794106000271037},{\"item\":\"67197\",\"score\":-0.48735167237049154}\n```\n\n```bash\n# tell Metarank which items were presented to the user and in which order from the previous request\n# optionally, we can include the score calculated by Metarank or your internal retrieval system\ncurl http:\u002F\u002Flocalhost:8080\u002Ffeedback \\\n -d '{\n  \"event\": \"ranking\",\n  \"fields\": [],\n  \"id\": \"test-ranking\",\n  \"items\": [\n    {\"id\":\"72998\",\"score\":0.9602446652021992},{\"id\":\"79132\",\"score\":0.7819134441404151},{\"id\":\"68358\",\"score\":0.33377910321385645},\n    {\"id\":\"112623\",\"score\":0.32591281190727805},{\"id\":\"103228\",\"score\":0.31640256043322723},{\"id\":\"77561\",\"score\":0.3040782705414116},\n    {\"id\":\"94864\",\"score\":0.17659007036183608},{\"id\":\"72378\",\"score\":0.06164568676567339},{\"id\":\"93363\",\"score\":0.058120639770243385},\n    {\"id\":\"68791\",\"score\":0.026919880032451306},{\"id\":\"85131\",\"score\":-0.35794106000271037},{\"id\":\"67197\",\"score\":-0.48735167237049154}\n  ],\n  \"user\": \"test2\",\n  \"session\": \"test2\",\n  \"timestamp\": 1661431888711\n}'\n```\n\n> Now, let's interact with the items `93363`\n\n```bash\n# click on the item with id 93363\ncurl http:\u002F\u002Flocalhost:8080\u002Ffeedback \\\n -d '{\n  \"event\": \"interaction\",\n  \"type\": \"click\",\n  \"fields\": [],\n  \"id\": \"test-interaction\",\n  \"ranking\": \"test-ranking\",\n  \"item\": \"93363\",\n  \"user\": \"test\",\n  \"session\": \"test\",\n  \"timestamp\": 1661431890711\n}'\n```\n\n> Now, Metarank will personalize the items, the order of the items in the response will be different\n\n```bash\n# personalize the same list of items\n# they will be returned in a different order by Metarank\ncurl http:\u002F\u002Flocalhost:8080\u002Frank\u002Fxgboost \\\n -d '{\n  \"event\": \"ranking\",\n  \"fields\": [],\n  \"id\": \"test-personalized\",\n  \"items\": [\n    {\"id\":\"72998\"}, {\"id\":\"67197\"}, {\"id\":\"77561\"},\n    {\"id\":\"68358\"}, {\"id\":\"79132\"}, {\"id\":\"103228\"}, \n    {\"id\":\"72378\"}, {\"id\":\"85131\"}, {\"id\":\"94864\"}, \n    {\"id\":\"68791\"}, {\"id\":\"93363\"}, {\"id\":\"112623\"}\n  ],\n  \"user\": \"test\",\n  \"session\": \"test\",\n  \"timestamp\": 1661431892711\n}'\n\n# {\"items\":[{\"item\":\"93363\",\"score\":2.2013986484185124},{\"item\":\"72998\",\"score\":1.1542776301073876},{\"item\":\"68358\",\"score\":0.9828904282341605},{\"item\":\"112623\",\"score\":0.9521647429731446},{\"item\":\"79132\",\"score\":0.9258841742518286},{\"item\":\"77561\",\"score\":0.8990921381835769},{\"item\":\"103228\",\"score\":0.8990921381835769},{\"item\":\"94864\",\"score\":0.7131600718467729},{\"item\":\"68791\",\"score\":0.624462038351694},{\"item\":\"72378\",\"score\":0.5269765094008626},{\"item\":\"85131\",\"score\":0.29198666089255343},{\"item\":\"67197\",\"score\":0.16412780810560743}]}\n```\n\n## Useful Links\n\n* [Documentation](https:\u002F\u002Fdocs.metarank.ai)\n* [Ranklens Dataset](https:\u002F\u002Fgithub.com\u002Fmetarank\u002Franklens)\n* [Contribution guide](CONTRIBUTING.md)\n* [License](LICENSE)\n\n## What's next? \n\nCheck out a more in-depth [Quickstart](\u002Fdoc\u002Fquickstart\u002Fquickstart.md) full [Reference](\u002Fdoc\u002Finstallation.md). \n\nIf you have any questions, don't hesitate to join our [Slack](https:\u002F\u002Fcommunityinviter.com\u002Fapps\u002Fmetarank\u002Fmetarank)!\n\n\nLicense\n=====\nThis project is released under the Apache 2.0 license, as specified in the [License](LICENSE) file.\n","\u003Ch1 align=\"center\">\n    \u003Ca style=\"text-decoration: none\" href=\"https:\u002F\u002Fwww.metarank.ai\">\n      \u003Cimg width=\"120\" src=\"https:\u002F\u002Fraw.githubusercontent.com\u002Fmetarank\u002Fmetarank\u002Fmaster\u002Fdoc\u002Fimg\u002Flogo.svg\" \u002F>\n      \u003Cp align=\"center\">Metarank：实时个性化即服务\u003C\u002Fp>\n    \u003C\u002Fa>\n\u003C\u002Fh1>\n\u003Ch2 align=\"center\">\n  \u003Ca href=\"https:\u002F\u002Fdocs.metarank.ai\">文档\u003C\u002Fa> | \u003Ca href=\"https:\u002F\u002Fmetarank.ai\">官网\u003C\u002Fa> | \u003Ca href=\"https:\u002F\u002Fmetarank.ai\u002Fslack\">社区 Slack\u003C\u002Fa> | \u003Ca href=\"https:\u002F\u002Fblog.metarank.ai\">博客\u003C\u002Fa> | \u003Ca href=\"https:\u002F\u002Fdemo.metarank.ai\">演示\u003C\u002Fa>\n\u003C\u002Fh2>\n\n[![CI 状态](https:\u002F\u002Fgithub.com\u002Fmetarank\u002Fmetarank\u002Fworkflows\u002FTests\u002Fbadge.svg)](https:\u002F\u002Fgithub.com\u002Fmetarank\u002Fmetarank\u002Factions)\n[![许可证：Apache 2](https:\u002F\u002Fimg.shields.io\u002Fbadge\u002FLicense-Apache2-green.svg)](https:\u002F\u002Fopensource.org\u002Flicenses\u002FApache-2.0)\n![最近提交](https:\u002F\u002Fimg.shields.io\u002Fgithub\u002Flast-commit\u002Fmetarank\u002Fmetarank)\n![最近发布](https:\u002F\u002Fimg.shields.io\u002Fgithub\u002Frelease\u002Fmetarank\u002Fmetarank)\n[![加入我们的 Slack](https:\u002F\u002Fimg.shields.io\u002Fbadge\u002FSlack-join%20the%20community-blue?logo=slack&style=social)](https:\u002F\u002Fmetarank.ai\u002Fslack)\n\n\n# Metarank 是什么？\n\n[Metarank](https:\u002F\u002Fmetarank.ai) 是一个开源的排序服务。它可以帮助您构建个性化的语义\u002F神经网络搜索和推荐系统。\n\n如果您只想快速上手，可以尝试：\n* [快速入门](https:\u002F\u002Fdocs.metarank.ai\u002Fintroduction\u002Fquickstart) 教程，了解如何在您的搜索引擎之上实现 Learning-to-Rank。\n* 一份 [语义搜索指南](TODO) ，介绍如何构建基于 LLM 的神经网络搜索。\n* 一份 [协同过滤推荐指南](TODO) ，用于创建许多电商网站上常见的“你可能还喜欢”小部件。\n\n## 为什么选择 Metarank？\n\n借助 Metarank，您可以使现有的搜索和推荐系统更加 **智能**：\n* 将用户的点击、购买等行为信号整合到排序中，并优化以最大化点击率！\n* 跟踪 [访问者画像](https:\u002F\u002Fdocs.metarank.ai\u002Freference\u002Foverview\u002Ffeature-extractors\u002Fuser-session)，并通过实时个性化让搜索结果根据用户行为动态调整。\n* 使用 [LLM 的双编码器和交叉编码器模式](https:\u002F\u002Fdocs.metarank.ai\u002Freference\u002Foverview\u002Ffeature-extractors\u002Ftext)，使您的搜索能够理解查询的真实含义。\n\nMetarank 非常 **高效**：\n* 针对重新排序延迟进行了优化，即使在大型结果集上也能在 10-20 毫秒内完成处理。请参阅 [性能基准测试](https:\u002F\u002Fdocs.metarank.ai\u002Fintroduction\u002Fperformance)。\n* 作为无状态的云原生服务（状态由 Redis 管理），它可以水平扩展并处理数千个每秒请求。详细信息请参阅 [Kubernetes 部署指南](https:\u002F\u002Fdocs.metarank.ai\u002Freference\u002Fdeployment-overview\u002Fkubernetes)。\n\n节省您的 **开发时间**：\n* Metarank 可以开箱即用地计算数十种典型的排序信号：点击率、来源、User-Agent、时间等——对于大多数常见的排序因素，您无需编写自定义代码。请参阅我们文档中的 [支持的排序信号完整列表](https:\u002F\u002Fdocs.metarank.ai\u002Freference\u002Foverview\u002Ffeature-extractors)。\n* Metarank 与多种流式处理系统集成，以便摄取访问者信号：详情请参阅 [数据源](https:\u002F\u002Fdocs.metarank.ai\u002Freference\u002Foverview\u002Fdata-sources)。\n\n## 您可以用 Metarank 构建什么？\n\nMetarank 帮助您构建先进的搜索和推荐排序系统：\n* 语义搜索：使用最先进的 LLM，让您的 Elasticsearch\u002FOpenSearch 理解查询的真正含义。\n* 推荐：传统的协同过滤以及新一代的语义内容推荐。\n* Learning-to-Rank：优化您现有的搜索。\n\n## 内容\n\n博客文章：\n* [使用 OpenSearch 和 Metarank 进行 Learning-to-Rank](https:\u002F\u002Fopensearch.org\u002Fblog\u002Fltr-with-opensearch-and-metarank\u002F)\n* [混合搜索与 Learning-to-Rank 结合 Metarank](https:\u002F\u002Fwww.pinecone.io\u002Flearn\u002Fmetarank\u002F)\n* [利用聚合点击率解决搜索冷启动问题](https:\u002F\u002Fblog.metarank.ai\u002Fsolving-a-search-cold-start-problem-with-aggregated-ctr-b88c14f4d03c)\n* [使用 Metarank 和 Elasticsearch 实现个性化搜索](https:\u002F\u002Fblog.metarank.ai\u002Fpersonalized-search-with-metarank-and-elasticsearch-a5a098548da7)\n\n线下聚会和会议演讲：\n* [构建开源在线 Learning-to-rank 引擎](https:\u002F\u002Fwww.youtube.com\u002Fwatch?v=lbbp4CFWZGk)，Haystack EU 23，[幻灯片](https:\u002F\u002Fmetarank.github.io\u002Fhaystack-eu22\u002F#\u002F)\n* [克服搜索和推荐系统中的位置与展示偏差](https:\u002F\u002Fwww.youtube.com\u002Fwatch?v=PqbYdDiwKBY)，柏林 Data Natives 聚会，[幻灯片](https:\u002F\u002Fmetarank.github.io\u002Fbias-talk\u002F#\u002F)\n* [Learning-to-rank：深度、快速、精准——任选其二](https:\u002F\u002Fwww.youtube.com\u002Fwatch?v=oXfFqAKf4Ac)，DataTalks 聚会，[幻灯片](https:\u002F\u002Fmetarank.github.io\u002Fdatatalks-ltr-talk\u002F#\u002F)\n\n## 主要功能\n\n* 语义神经网络搜索：[待办]\n* 推荐：[热门推荐](doc\u002Fconfiguration\u002Frecommendations\u002Ftrending.md) 和 [相似商品](configuration\u002Frecommendations\u002Fsimilar.md)（MF ALS）。\n* 个性化：[二次重新排序](doc\u002Fquickstart\u002Fquickstart.md)（LambdaMART）\n* 自动机器学习：[自动特征生成](doc\u002Fhowto\u002Fautofeature.md) 和 [模型再训练](howto\u002Fmodel-retraining.md)\n* A\u002FB 测试：[多模型服务](doc\u002Fconfiguration\u002Foverview.md#models)\n\n## 演示\n\n您可以在 [demo.metarank.ai](https:\u002F\u002Fdemo.metarank.ai) 上体验 Metarank 演示：\n\n![演示](https:\u002F\u002Foss.gittoolsai.com\u002Fimages\u002Fmetarank_metarank_readme_fc6741f05e95.gif)\n\n演示本身以及 [所使用的数据](https:\u002F\u002Fgithub.com\u002Fmetarank\u002Fmsrd) 都是开源的，您可以从 [GitHub 仓库](https:\u002F\u002Fgithub.com\u002Fmetarank\u002Fmetarank\u002Ftree\u002Fmaster\u002Fsrc\u002Ftest\u002Fresources\u002Franklens) 中获取训练事件和配置文件的副本。\n\n## 一分钟了解 Metarank\n\n让我们演示一下如何在不到一分钟内通过基于 LambdaMART 的重新排序开始个性化内容：\n\n1. 准备数据：我们将从 [demo.metarank.ai](https:\u002F\u002Fdemo.metarank.ai) 获取数据集和配置文件。\n2. 以独立模式启动 Metarank：它将导入数据、训练机器学习模型并启动 API。\n3. 向 API 发送几个请求。\n\n### 第一步：准备数据\n\n我们将使用 [ranklens 数据集](https:\u002F\u002Fgithub.com\u002Fmetarank\u002Franklens)，该数据集也用于我们的 [演示](https:\u002F\u002Fdemo.metarank.ai)，因此只需下载数据文件即可。\n\n```bash\ncurl -O -L https:\u002F\u002Fgithub.com\u002Fmetarank\u002Fmetarank\u002Fraw\u002Fmaster\u002Fsrc\u002Ftest\u002Fresources\u002Franklens\u002Fevents\u002Fevents.jsonl.gz\n```\n\n### 第二步：准备配置文件\n\n我们同样会使用来自 [演示](https:\u002F\u002Fdemo.metarank.ai) 的配置文件。它使用内存存储，因此不需要其他依赖项。\n\n\n```bash\ncurl -O -L https:\u002F\u002Fraw.githubusercontent.com\u002Fmetarank\u002Fmetarank\u002Fmaster\u002Fsrc\u002Ftest\u002Fresources\u002Franklens\u002Fconfig.yml\n```\n\n### 第3步：启动Metarank！\n\n最后一步，我们将使用Metarank的`standalone`模式，它将训练和运行API合并为一个命令：\n\n```bash\ndocker run -i -t -p 8080:8080 -v $(pwd):\u002Fopt\u002Fmetarank metarank\u002Fmetarank:latest standalone --config \u002Fopt\u002Fmetarank\u002Fconfig.yml --data \u002Fopt\u002Fmetarank\u002Fevents.jsonl.gz\n```\n\n在Metarank启动并处理数据的过程中，您会看到一些有用的输出。完成后，您可以向`localhost:8080`发送请求，以获取个性化结果。\n\n接下来，我们将通过点击其中一部电影来与系统互动，并观察结果。\n\n> 首先，在我们进行交互之前，让我们看看Metarank提供的初始输出\n\n```bash\n# 获取某些项目的初始排名\ncurl http:\u002F\u002Flocalhost:8080\u002Frank\u002Fxgboost \\\n    -d '{\n    \"event\": \"ranking\",\n    \"id\": \"id1\",\n    \"items\": [\n        {\"id\":\"72998\"}, {\"id\":\"67197\"}, {\"id\":\"77561\"},\n        {\"id\":\"68358\"}, {\"id\":\"79132\"}, {\"id\":\"103228\"}, \n        {\"id\":\"72378\"}, {\"id\":\"85131\"}, {\"id\":\"94864\"}, \n        {\"id\":\"68791\"}, {\"id\":\"93363\"}, {\"id\":\"112623\"}\n    ],\n    \"user\": \"alice\",\n    \"session\": \"alice1\",\n    \"timestamp\": 1661431886711\n}'\n\n# {\"item\":\"72998\",\"score\":0.9602446652021992},{\"item\":\"79132\",\"score\":0.7819134441404151},{\"item\":\"68358\",\"score\":0.33377910321385645},{\"item\":\"112623\",\"score\":0.32591281190727805},{\"item\":\"103228\",\"score\":0.31640256043322723},{\"item\":\"77561\",\"score\":0.3040782705414116},{\"item\":\"94864\",\"score\":0.17659007036183608},{\"item\":\"72378\",\"score\":0.06164568676567339},{\"item\":\"93363\",\"score\":0.058120639770243385},{\"item\":\"68791\",\"score\":0.026919880032451306},{\"item\":\"85131\",\"score\":-0.35794106000271037},{\"item\":\"67197\",\"score\":-0.48735167237049154}\n```\n\n```bash\n# 告诉Metarank在上一次请求中向用户展示了哪些项目以及它们的顺序\n# 您还可以选择包含由Metarank或您的内部检索系统计算出的分数\ncurl http:\u002F\u002Flocalhost:8080\u002Ffeedback \\\n -d '{\n  \"event\": \"ranking\",\n  \"fields\": [],\n  \"id\": \"test-ranking\",\n  \"items\": [\n    {\"id\":\"72998\",\"score\":0.9602446652021992},{\"id\":\"79132\",\"score\":0.7819134441404151},{\"id\":\"68358\",\"score\":0.33377910321385645},\n    {\"id\":\"112623\",\"score\":0.32591281190727805},{\"id\":\"103228\",\"score\":0.31640256043322723},{\"id\":\"77561\",\"score\":0.3040782705414116},\n    {\"id\":\"94864\",\"score\":0.17659007036183608},{\"id\":\"72378\",\"score\":0.06164568676567339},{\"id\":\"93363\",\"score\":0.058120639770243385},\n    {\"id\":\"68791\",\"score\":0.026919880032451306},{\"id\":\"85131\",\"score\":-0.35794106000271037},{\"id\":\"67197\",\"score\":-0.48735167237049154}\n  ],\n  \"user\": \"test2\",\n  \"session\": \"test2\",\n  \"timestamp\": 1661431888711\n}'\n```\n\n> 现在，让我们与项目`93363`进行交互\n\n```bash\n# 点击ID为93363的项目\ncurl http:\u002F\u002Flocalhost:8080\u002Ffeedback \\\n -d '{\n  \"event\": \"interaction\",\n  \"type\": \"click\",\n  \"fields\": [],\n  \"id\": \"test-interaction\",\n  \"ranking\": \"test-ranking\",\n  \"item\": \"93363\",\n  \"user\": \"test\",\n  \"session\": \"test\",\n  \"timestamp\": 1661431890711\n}'\n```\n\n> 现在，Metarank会对项目进行个性化调整，响应中的项目顺序将会发生变化\n\n```bash\n# 对相同的项目列表进行个性化排序\n# Metarank会以不同的顺序返回这些项目\ncurl http:\u002F\u002Flocalhost:8080\u002Frank\u002Fxgboost \\\n -d '{\n  \"event\": \"ranking\",\n  \"fields\": [],\n  \"id\": \"test-personalized\",\n  \"items\": [\n    {\"id\":\"72998\"}, {\"id\":\"67197\"}, {\"id\":\"77561\"},\n    {\"id\":\"68358\"}, {\"id\":\"79132\"}, {\"id\":\"103228\"}, \n    {\"id\":\"72378\"}, {\"id\":\"85131\"}, {\"id\":\"94864\"}, \n    {\"id\":\"68791\"}, {\"id\":\"93363\"}, {\"id\":\"112623\"}\n  ],\n  \"user\": \"test\",\n  \"session\": \"test\",\n  \"timestamp\": 1661431892711\n}'\n\n# {\"items\":[{\"item\":\"93363\",\"score\":2.2013986484185124},{\"item\":\"72998\",\"score\":1.1542776301073876},{\"item\":\"68358\",\"score\":0.9828904282341605},{\"item\":\"112623\",\"score\":0.9521647429731446},{\"item\":\"79132\",\"score\":0.9258841742518286},{\"item\":\"77561\",\"score\":0.8990921381835769},{\"item\":\"103228\",\"score\":0.8990921381835769},{\"item\":\"94864\",\"score\":0.7131600718467729},{\"item\":\"68791\",\"score\":0.624462038351694},{\"item\":\"72378\",\"score\":0.5269765094008626},{\"item\":\"85131\",\"score\":0.29198666089255343},{\"item\":\"67197\",\"score\":0.16412780810560743}]}\n```\n\n## 有用链接\n\n* [文档](https:\u002F\u002Fdocs.metarank.ai)\n* [Ranklens数据集](https:\u002F\u002Fgithub.com\u002Fmetarank\u002Franklens)\n* [贡献指南](CONTRIBUTING.md)\n* [许可证](LICENSE)\n\n## 接下来呢？\n\n请查看更深入的[快速入门](\u002Fdoc\u002Fquickstart\u002Fquickstart.md)以及完整的[参考文档](\u002Fdoc\u002Finstallation.md)。\n\n如果您有任何问题，请随时加入我们的[Slack](https:\u002F\u002Fcommunityinviter.com\u002Fapps\u002Fmetarank\u002Fmetarank)！\n\n许可证\n=====\n本项目采用Apache 2.0许可证发布，具体详见[LICENSE](LICENSE)文件。","# Metarank 快速上手指南\n\nMetarank 是一个开源的实时个性化排序服务（Learning-to-Rank），可帮助你在现有的搜索引擎或推荐系统中集成用户行为信号（如点击、购买），从而实现更智能的语义搜索和个性化推荐。\n\n## 环境准备\n\n*   **系统要求**：支持 Docker 运行的操作系统（Linux, macOS, Windows）。\n*   **前置依赖**：\n    *   [Docker](https:\u002F\u002Fwww.docker.com\u002F)：用于运行 Metarank standalone 模式。\n    *   `curl`：用于下载示例数据和发送 API 请求。\n*   **网络说明**：由于需要拉取 Docker 镜像和 GitHub 资源，建议确保网络通畅或使用国内加速镜像源。\n\n## 安装与数据准备\n\n本指南采用 **Standalone 模式**，无需配置 Redis 或其他外部依赖，适合快速体验。\n\n### 1. 下载示例数据\n我们将使用 Ranklens 数据集（电影评分数据）作为演示。执行以下命令下载事件数据文件：\n\n```bash\ncurl -O -L https:\u002F\u002Fgithub.com\u002Fmetarank\u002Fmetarank\u002Fraw\u002Fmaster\u002Fsrc\u002Ftest\u002Fresources\u002Franklens\u002Fevents\u002Fevents.jsonl.gz\n```\n\n### 2. 下载配置文件\n下载配套的配置文件，该配置使用内存存储，简化了启动流程：\n\n```bash\ncurl -O -L https:\u002F\u002Fraw.githubusercontent.com\u002Fmetarank\u002Fmetarank\u002Fmaster\u002Fsrc\u002Ftest\u002Fresources\u002Franklens\u002Fconfig.yml\n```\n\n### 3. 启动 Metarank\n使用 Docker 启动 Metarank。该命令会自动导入数据、训练机器学习模型并启动 API 服务：\n\n```bash\ndocker run -i -t -p 8080:8080 -v $(pwd):\u002Fopt\u002Fmetarank metarank\u002Fmetarank:latest standalone --config \u002Fopt\u002Fmetarank\u002Fconfig.yml --data \u002Fopt\u002Fmetarank\u002Fevents.jsonl.gz\n```\n\n> **注意**：首次启动时，Docker 会拉取镜像，随后 Metarank 会处理数据并训练模型。请等待终端输出稳定，显示 API 已就绪后再进行下一步。\n\n## 基本使用\n\nMetarank 的核心工作流包含三个步骤：**获取初始排序** -> **反馈用户行为** -> **获取个性化排序**。\n\n### 1. 获取初始排序\n向 `\u002Frank\u002Fxgboost` 接口发送请求，获取一组电影的初始推荐列表。此时尚未引入用户个人偏好。\n\n```bash\ncurl http:\u002F\u002Flocalhost:8080\u002Frank\u002Fxgboost \\\n    -d '{\n    \"event\": \"ranking\",\n    \"id\": \"id1\",\n    \"items\": [\n        {\"id\":\"72998\"}, {\"id\":\"67197\"}, {\"id\":\"77561\"},\n        {\"id\":\"68358\"}, {\"id\":\"79132\"}, {\"id\":\"103228\"}, \n        {\"id\":\"72378\"}, {\"id\":\"85131\"}, {\"id\":\"94864\"}, \n        {\"id\":\"68791\"}, {\"id\":\"93363\"}, {\"id\":\"112623\"}\n    ],\n    \"user\": \"alice\",\n    \"session\": \"alice1\",\n    \"timestamp\": 1661431886711\n}'\n```\n\n### 2. 反馈展示与交互\n为了让模型学习用户偏好，你需要告诉 Metarank 哪些物品被展示给了用户，以及用户点击了哪个物品。\n\n**第一步：反馈展示列表（Ranking Feedback）**\n告知系统刚才展示了哪些物品及其顺序：\n\n```bash\ncurl http:\u002F\u002Flocalhost:8080\u002Ffeedback \\\n -d '{\n  \"event\": \"ranking\",\n  \"fields\": [],\n  \"id\": \"test-ranking\",\n  \"items\": [\n    {\"id\":\"72998\",\"score\":0.9602446652021992},{\"id\":\"79132\",\"score\":0.7819134441404151},{\"id\":\"68358\",\"score\":0.33377910321385645},\n    {\"id\":\"112623\",\"score\":0.32591281190727805},{\"id\":\"103228\",\"score\":0.31640256043322723},{\"id\":\"77561\",\"score\":0.3040782705414116},\n    {\"id\":\"94864\",\"score\":0.17659007036183608},{\"id\":\"72378\",\"score\":0.06164568676567339},{\"id\":\"93363\",\"score\":0.058120639770243385},\n    {\"id\":\"68791\",\"score\":0.026919880032451306},{\"id\":\"85131\",\"score\":-0.35794106000271037},{\"id\":\"67197\",\"score\":-0.48735167237049154}\n  ],\n  \"user\": \"test2\",\n  \"session\": \"test2\",\n  \"timestamp\": 1661431888711\n}'\n```\n\n**第二步：反馈点击行为（Interaction Feedback）**\n假设用户点击了 ID 为 `93363` 的电影：\n\n```bash\ncurl http:\u002F\u002Flocalhost:8080\u002Ffeedback \\\n -d '{\n  \"event\": \"interaction\",\n  \"type\": \"click\",\n  \"fields\": [],\n  \"id\": \"test-interaction\",\n  \"ranking\": \"test-ranking\",\n  \"item\": \"93363\",\n  \"user\": \"test\",\n  \"session\": \"test\",\n  \"timestamp\": 1661431890711\n}'\n```\n\n### 3. 获取个性化排序\n再次请求相同的物品列表，Metarank 将根据刚才的点击行为重新排序。你会发现之前点击的物品 `93363` 排名显著上升，且其他相关物品的分数也会发生变化。\n\n```bash\ncurl http:\u002F\u002Flocalhost:8080\u002Frank\u002Fxgboost \\\n -d '{\n  \"event\": \"ranking\",\n  \"fields\": [],\n  \"id\": \"test-personalized\",\n  \"items\": [\n    {\"id\":\"72998\"}, {\"id\":\"67197\"}, {\"id\":\"77561\"},\n    {\"id\":\"68358\"}, {\"id\":\"79132\"}, {\"id\":\"103228\"}, \n    {\"id\":\"72378\"}, {\"id\":\"85131\"}, {\"id\":\"94864\"}, \n    {\"id\":\"68791\"}, {\"id\":\"93363\"}, {\"id\":\"112623\"}\n  ],\n  \"user\": \"test\",\n  \"session\": \"test\",\n  \"timestamp\": 1661431892711\n}'\n```\n\n**预期结果示例**：\n```json\n{\"items\":[{\"item\":\"93363\",\"score\":2.2013986484185124},{\"item\":\"72998\",\"score\":1.1542776301073876}, ... ]}\n```\n\n至此，你已成功运行了一个具备实时个性化能力的排序服务。如需生产环境部署或更多功能（如 A\u002FB 测试、特征工程），请参考官方文档。","某中型电商平台的搜索团队正致力于优化商品搜索结果页，旨在解决用户搜索“夏季连衣裙”时结果千篇一律、转化率停滞不前的难题。\n\n### 没有 metarank 时\n- **排序逻辑僵化**：仅依赖 Elasticsearch 的基础文本匹配和相关性打分，无法区分高转化商品与低质商品，导致热门但非精准匹配的商品占据前排。\n- **缺乏个性化体验**：所有用户看到相同的搜索结果，无视用户的历史浏览偏好（如价格敏感度、风格喜好），新用户与老用户体验无差异。\n- **实时反馈滞后**：用户的点击和购买行为数据需经过 T+1 的离线批处理才能更新索引，无法即时反映当下的流行趋势或突发流量变化。\n- **开发维护成本高**：工程师需手动编写复杂的自定义脚本提取特征（如 CTR、停留时间），代码臃肿且难以维护，每次调整排序策略都需要重新发布服务。\n\n### 使用 metarank 后\n- **智能学习排序**：通过集成 Learning-to-Rank 引擎，metarank 自动结合文本相关性与业务指标（如转化率），将真正可能成交的商品排在前面，显著提升 GMV。\n- **千人千面推荐**：利用内置的用户会话特征提取器，metarank 实时追踪用户行为，为喜欢“极简风”的用户优先展示相应款式，实现毫秒级的个性化重排序。\n- **实时动态调整**：借助 Redis 状态管理，用户的每一次点击都能即时影响后续排序，系统能迅速捕捉并放大短期热点，让搜索结果“活”起来。\n- **低代码快速落地**：无需从头构建特征工程，metarank 开箱即用支持数十种常见排名信号（如 Referer、User-Agent、时间衰减），团队仅需配置 YAML 文件即可上线新策略，研发效率提升数倍。\n\nmetarank 以极低的接入成本，将静态的关键词搜索升级为实时的个性化智能排序，直接驱动了用户参与度与商业转化的双重增长。","https:\u002F\u002Foss.gittoolsai.com\u002Fimages\u002Fmetarank_metarank_5ac594a1.png","Metarank Labs Co.","https:\u002F\u002Foss.gittoolsai.com\u002Favatars\u002Fmetarank_1a305f6b.png","Metarank is a low-code Machine Learning tool that personalizes product listings, articles, recommendations, and search results to boost sales",null,"https:\u002F\u002Fwww.metarank.ai\u002F","https:\u002F\u002Fgithub.com\u002Fmetarank",[83,87,91,95],{"name":84,"color":85,"percentage":86},"Scala","#c22d40",99.2,{"name":88,"color":89,"percentage":90},"Shell","#89e051",0.4,{"name":92,"color":93,"percentage":94},"Java","#b07219",0.2,{"name":96,"color":97,"percentage":94},"Smarty","#f0c040",2410,108,"2026-03-16T03:05:55","Apache-2.0","Linux, macOS, Windows","未说明",{"notes":105,"python":103,"dependencies":106},"该工具主要通过 Docker 容器运行（如示例中的 metarank\u002Fmetarank:latest）。在生产环境中，通常依赖 Redis 进行状态管理以实现水平扩展和高可用性。README 中未提供具体的 CPU\u002FGPU、内存或 Python 版本要求，因为主要交付形式为容器化服务。",[107],"Docker",[54,51,13],[110,111,112,113,114,115,116,117,118,119,120,121,122],"ranking","scala","search","personalization","machine-learning","deep-learning","data-engineering","feature-engineering","feature-extraction","kubernetes","data-science","automl","neural-networks","2026-03-27T02:49:30.150509","2026-04-06T08:45:15.483303",[126,131,136,141,146,151],{"id":127,"question_zh":128,"answer_zh":129,"source_url":130},11405,"如何清理或丢弃过期的商品（item）事件以控制存储增长？","可以通过为特征设置 TTL（生存时间）来实现。当商品不再出现在排名事件中时，其对应的 TTL 将不再刷新，过期后会自动从 Redis 中移除。如果商品在特征过期后才首次出现，其特征值将为 NaN（空值），LightGBM\u002FXGBoost\u002FCatBoost 等后端算法原生支持处理缺失数据，并将其作为训练信号之一。","https:\u002F\u002Fgithub.com\u002Fmetarank\u002Fmetarank\u002Fissues\u002F1109",{"id":132,"question_zh":133,"answer_zh":134,"source_url":135},11406,"运行 standalone 模式时遇到 'DecodingFailure: cannot parse a feature definition of type rate' 错误怎么办？","这通常是因为配置文件中的 scope 设置与版本不匹配。在 v0.5.4 及更高版本中，rate 类型特征需要明确指定 scope。请尝试在配置中添加 `scope: item`。示例配置如下：\n```\n- name: ctr\n  type: rate\n  top: click\n  bottom: impression\n  bucket: 24h\n  scope: item\n  periods: [7,30]\n  normalize:\n    weight: 10\n```","https:\u002F\u002Fgithub.com\u002Fmetarank\u002Fmetarank\u002Fissues\u002F644",{"id":137,"question_zh":138,"answer_zh":139,"source_url":140},11407,"导入自定义数据集时出现 'java.util.NoSuchElementException: head of empty list' 错误如何解决？","该问题已在 v0.6.2 版本中修复。建议升级到 v0.6.2 或更高版本重新运行。如果问题仍然存在，可以联系维护者或通过 Slack 频道寻求进一步帮助。","https:\u002F\u002Fgithub.com\u002Fmetarank\u002Fmetarank\u002Fissues\u002F861",{"id":142,"question_zh":143,"answer_zh":144,"source_url":145},11408,"执行 'metarank train' 训练 LightGBM 模型时报错 'booster is already closed' 是什么原因？","此错误通常发生在 LightGBM 模型训练完成后的资源清理阶段。日志显示模型已成功训练并上传到存储（如 Redis），随后的关闭操作可能触发了异常。由于模型已保存成功，这通常不影响最终结果。建议检查是否使用了最新版本的 Metarank，因为此类资源管理问题常在后续版本中优化。","https:\u002F\u002Fgithub.com\u002Fmetarank\u002Fmetarank\u002Fissues\u002F1476",{"id":147,"question_zh":148,"answer_zh":149,"source_url":150},11409,"运行 RankLens 教程时在 Data Bootstrapping 阶段报错 'events.jsonl.gz is not GZIP file' 或 'scala.MatchError' 怎么办？","这是一个已知问题，通常由特定版本的文件解析或配置兼容性引起。维护者已在 v0.2.5 版本中修复了相关问题。请确保你使用的是最新版本的 Metarank，并重新下载教程数据文件后再次尝试。","https:\u002F\u002Fgithub.com\u002Fmetarank\u002Fmetarank\u002Fissues\u002F310",{"id":152,"question_zh":153,"answer_zh":154,"source_url":135},11410,"Metarank 文档中的配置示例与当前版本不一致导致报错怎么办？","Metarank 迭代较快，文档可能与最新发行版不同步。如果遇到解析错误，请检查当前版本的发布说明或源码中的默认配置示例。此外，Metarank 已引入文档版本控制功能，建议在浏览文档时选择与你安装的 Metarank 版本相匹配的文档版本，以避免使用未发布或已弃用的特性配置。",[156,161,166,171,176,181,186,191,196,201,206,211,216,221,226,231,236,241,246,251],{"id":157,"version":158,"summary_zh":159,"released_at":160},61902,"0.7.11","## Bug修复\n* 由 @shuttie 在 https:\u002F\u002Fgithub.com\u002Fmetarank\u002Fmetarank\u002Fpull\u002F1348 中添加 JVM 版本检查，用于构建\n* 由 @shuttie 在 https:\u002F\u002Fgithub.com\u002Fmetarank\u002Fmetarank\u002Fpull\u002F1489 中修复特征计算时排名事件字段有时丢失的问题\n* 功能（K8s）：由 @shalomaku 在 https:\u002F\u002Fgithub.com\u002Fmetarank\u002Fmetarank\u002Fpull\u002F1486 中为训练 CronJob 添加环境变量支持\n* 由 @shuttie 在 https:\u002F\u002Fgithub.com\u002Fmetarank\u002Fmetarank\u002Fpull\u002F1493 中修复文件已下载时 S3 训练崩溃的问题\n* 由 @shuttie 在 https:\u002F\u002Fgithub.com\u002Fmetarank\u002Fmetarank\u002Fpull\u002F1491 中修复模型缓存竞争条件导致的训练崩溃问题\n\n\n## 文档\n* 文档：由 @tkhshtsh0917 在 https:\u002F\u002Fgithub.com\u002Fmetarank\u002Fmetarank\u002Fpull\u002F1437 中修复错别字、拼写不一致及句子语义错误\n* 由 @markdav-hpe 在 https:\u002F\u002Fgithub.com\u002Fmetarank\u002Fmetarank\u002Fpull\u002F1323 中修复 readme.md 中的损坏链接\n\n## 构建\n* CI：由 @shuttie 在 https:\u002F\u002Fgithub.com\u002Fmetarank\u002Fmetarank\u002Fpull\u002F1438 中迁移到更新的 Docker Compose\n* CI：由 @shuttie 在 https:\u002F\u002Fgithub.com\u002Fmetarank\u002Fmetarank\u002Fpull\u002F1439 中将 macOS 版本从 macOS-12 升级到 macOS-14\n* CI：由 @shuttie 在 https:\u002F\u002Fgithub.com\u002Fmetarank\u002Fmetarank\u002Fpull\u002F1490 中切换到 cache-v4\n\n## 依赖项\n* 由 @scala-steward 在 https:\u002F\u002Fgithub.com\u002Fmetarank\u002Fmetarank\u002Fpull\u002F1342 中将 Caffeine 更新至 5.3.0\n* 由 @scala-steward 在 https:\u002F\u002Fgithub.com\u002Fmetarank\u002Fmetarank\u002Fpull\u002F1343 中将 Circe-YAML 更新至 0.15.3\n* 由 @scala-steward 在 https:\u002F\u002Fgithub.com\u002Fmetarank\u002Fmetarank\u002Fpull\u002F1344 中将 RocksDBJNI 更新至 9.4.0\n* 由 @scala-steward 在 https:\u002F\u002Fgithub.com\u002Fmetarank\u002Fmetarank\u002Fpull\u002F1345 中将 SBT 更新至 1.10.1\n* 由 @scala-steward 在 https:\u002F\u002Fgithub.com\u002Fmetarank\u002Fmetarank\u002Fpull\u002F1346 中将 AWS SDK for Java (S3) 更新至 2.26.20\n* 由 @scala-steward 在 https:\u002F\u002Fgithub.com\u002Fmetarank\u002Fmetarank\u002Fpull\u002F1351 中将 Sentry-Logback 更新至 7.12.0\n* 由 @scala-steward 在 https:\u002F\u002Fgithub.com\u002Fmetarank\u002Fmetarank\u002Fpull\u002F1352 中将 Commons RNG Sampling 等库更新至 1.6\n* 由 @scala-steward 在 https:\u002F\u002Fgithub.com\u002Fmetarank\u002Fmetarank\u002Fpull\u002F1434 中将 Scala 标准库更新至 2.13.16\n* 由 @scala-steward 在 https:\u002F\u002Fgithub.com\u002Fmetarank\u002Fmetarank\u002Fpull\u002F1485 中将 Lettuce-Core 更新至 6.7.1.RELEASE\n* 由 @shuttie 在 https:\u002F\u002Fgithub.com\u002Fmetarank\u002Fmetarank\u002Fpull\u002F1492 中升级依赖项\n\n## 新贡献者\n* @tkhshtsh0917 在 https:\u002F\u002Fgithub.com\u002Fmetarank\u002Fmetarank\u002Fpull\u002F1437 中做出了首次贡献\n* @markdav-hpe 在 https:\u002F\u002Fgithub.com\u002Fmetarank\u002Fmetarank\u002Fpull\u002F1323 中做出了首次贡献\n* @shalomaku 在 https:\u002F\u002Fgithub.com\u002Fmetarank\u002Fmetarank\u002Fpull\u002F1486 中做出了首次贡献\n\n**完整变更日志**：https:\u002F\u002Fgithub.com\u002Fmetarank\u002Fmetarank\u002Fcompare\u002F0.7.10...0.7.11","2025-06-24T11:18:26",{"id":162,"version":163,"summary_zh":164,"released_at":165},61903,"0.7.10","## 错误修复\n* 修复 Ember HTTP 后端丢弃错误消息的问题，由 @shuttie 在 https:\u002F\u002Fgithub.com\u002Fmetarank\u002Fmetarank\u002Fpull\u002F1337 中完成\n\n## 依赖更新\n* 将 rocksdbjni 更新至 9.1.1，由 @scala-steward 在 https:\u002F\u002Fgithub.com\u002Fmetarank\u002Fmetarank\u002Fpull\u002F1310 中完成\n* 将 rocksdbjni 更新至 9.3.1，由 @scala-steward 在 https:\u002F\u002Fgithub.com\u002Fmetarank\u002Fmetarank\u002Fpull\u002F1336 中完成\n* 将 sentry-logback 更新至 7.11.0，由 @scala-steward 在 https:\u002F\u002Fgithub.com\u002Fmetarank\u002Fmetarank\u002Fpull\u002F1335 中完成\n* 将 circe-core、circe-generic 等更新至 0.14.9，由 @scala-steward 在 https:\u002F\u002Fgithub.com\u002Fmetarank\u002Fmetarank\u002Fpull\u002F1334 中完成\n* 将 kafka-clients 更新至 3.7.1，由 @scala-steward 在 https:\u002F\u002Fgithub.com\u002Fmetarank\u002Fmetarank\u002Fpull\u002F1333 中完成\n* 将 lucene-analysis-common 等更新至 9.11.1，由 @scala-steward 在 https:\u002F\u002Fgithub.com\u002Fmetarank\u002Fmetarank\u002Fpull\u002F1332 中完成\n* 将 scalatest 更新至 3.2.19，由 @scala-steward 在 https:\u002F\u002Fgithub.com\u002Fmetarank\u002Fmetarank\u002Fpull\u002F1330 中完成\n* 将 circe-yaml 更新至 0.15.2，由 @scala-steward 在 https:\u002F\u002Fgithub.com\u002Fmetarank\u002Fmetarank\u002Fpull\u002F1329 中完成\n* 将 scalafmt-core 更新至 3.8.2，由 @scala-steward 在 https:\u002F\u002Fgithub.com\u002Fmetarank\u002Fmetarank\u002Fpull\u002F1327 中完成\n* 将 ltrlib 版本提升至 0.2.6，由 @shuttie 在 https:\u002F\u002Fgithub.com\u002Fmetarank\u002Fmetarank\u002Fpull\u002F1339 中完成\n* 修复 awssdk 和 pulsar 之间的依赖冲突，由 @shuttie 在 https:\u002F\u002Fgithub.com\u002Fmetarank\u002Fmetarank\u002Fpull\u002F1338 中完成\n* 将 guava 更新至 33.2.1-jre，由 @scala-steward 在 https:\u002F\u002Fgithub.com\u002Fmetarank\u002Fmetarank\u002Fpull\u002F1322 中完成\n* 将 onnxruntime 更新至 1.18.0，由 @scala-steward 在 https:\u002F\u002Fgithub.com\u002Fmetarank\u002Fmetarank\u002Fpull\u002F1317 中完成\n* 将 djl 版本提升至 0.28.0，由 @shuttie 在 https:\u002F\u002Fgithub.com\u002Fmetarank\u002Fmetarank\u002Fpull\u002F1340 中完成\n\n\n**完整变更日志**：https:\u002F\u002Fgithub.com\u002Fmetarank\u002Fmetarank\u002Fcompare\u002F0.7.9...0.7.10","2024-07-05T19:01:05",{"id":167,"version":168,"summary_zh":169,"released_at":170},61904,"0.7.9","## 变更内容\n* @shuttie 在 https:\u002F\u002Fgithub.com\u002Fmetarank\u002Fmetarank\u002Fpull\u002F1307 中对 fs2、guava 和 djl 的依赖版本进行了对齐。\n* @shuttie 在 https:\u002F\u002Fgithub.com\u002Fmetarank\u002Fmetarank\u002Fpull\u002F1308 中将 Redis 训练存储的 TTL 暴露到配置中。\n\n## 依赖更新\n* @scala-steward 在 https:\u002F\u002Fgithub.com\u002Fmetarank\u002Fmetarank\u002Fpull\u002F1306 中将 sbt 更新至 1.10.0。\n* @scala-steward 在 https:\u002F\u002Fgithub.com\u002Fmetarank\u002Fmetarank\u002Fpull\u002F1305 中将 log4cats-core 和 log4cats-slf4j 更新至 2.7.0。\n* @scala-steward 在 https:\u002F\u002Fgithub.com\u002Fmetarank\u002Fmetarank\u002Fpull\u002F1304 中将 scala-library 更新至 2.13.14。\n* @scala-steward 在 https:\u002F\u002Fgithub.com\u002Fmetarank\u002Fmetarank\u002Fpull\u002F1303 中将 guava 更新至 33.2.0-jre。\n* @scala-steward 在 https:\u002F\u002Fgithub.com\u002Fmetarank\u002Fmetarank\u002Fpull\u002F1301 中将 circe-core、circe-generic 等更新至 0.14.7。\n* @scala-steward 在 https:\u002F\u002Fgithub.com\u002Fmetarank\u002Fmetarank\u002Fpull\u002F1298 中将 logback-classic 更新至 1.5.6。\n* @scala-steward 在 https:\u002F\u002Fgithub.com\u002Fmetarank\u002Fmetarank\u002Fpull\u002F1297 中将 jcl-over-slf4j 更新至 2.0.13。\n* @scala-steward 在 https:\u002F\u002Fgithub.com\u002Fmetarank\u002Fmetarank\u002Fpull\u002F1295 中将 onnxruntime 更新至 1.17.3。\n* @scala-steward 在 https:\u002F\u002Fgithub.com\u002Fmetarank\u002Fmetarank\u002Fpull\u002F1294 中将 sentry-logback 更新至 7.8.0。\n* @scala-steward 在 https:\u002F\u002Fgithub.com\u002Fmetarank\u002Fmetarank\u002Fpull\u002F1290 中将 pulsar-client 和 pulsar-client-admin 更新至 3.2.2。\n* @scala-steward 在 https:\u002F\u002Fgithub.com\u002Fmetarank\u002Fmetarank\u002Fpull\u002F1287 中将 scalafmt-core 更新至 3.8.1。\n* @scala-steward 在 https:\u002F\u002Fgithub.com\u002Fmetarank\u002Fmetarank\u002Fpull\u002F1285 中将 tokenizers 更新至 0.27.0。\n* @scala-steward 在 https:\u002F\u002Fgithub.com\u002Fmetarank\u002Fmetarank\u002Fpull\u002F1284 中将 api 更新至 0.27.0。\n* @scala-steward 在 https:\u002F\u002Fgithub.com\u002Fmetarank\u002Fmetarank\u002Fpull\u002F1299 中将 rocksdbjni 更新至 9.0.1。\n* @scala-steward 在 https:\u002F\u002Fgithub.com\u002Fmetarank\u002Fmetarank\u002Fpull\u002F1293 中将 commons-io 更新至 2.16.1。\n\n\n**完整变更日志**: https:\u002F\u002Fgithub.com\u002Fmetarank\u002Fmetarank\u002Fcompare\u002F0.7.8...0.7.9","2024-05-08T08:55:22",{"id":172,"version":173,"summary_zh":174,"released_at":175},61905,"0.7.8","## Bug修复\n\n* 由 @shuttie 在 https:\u002F\u002Fgithub.com\u002Fmetarank\u002Fmetarank\u002Fpull\u002F1280 中修复了斜杠和分号字段值导致的崩溃问题\n* 由 @shuttie 在 https:\u002F\u002Fgithub.com\u002Fmetarank\u002Fmetarank\u002Fpull\u002F1283 中为 Kinesis 添加了迭代器中断时的重试机制\n\n## 变更内容\n\n* 由 @shuttie 在 https:\u002F\u002Fgithub.com\u002Fmetarank\u002Fmetarank\u002Fpull\u002F1274 中将 jvm21 和 mac-m1 添加到 CI 流程中\n* CI：将 Redis 升级至 7.2.4，由 @shuttie 在 https:\u002F\u002Fgithub.com\u002Fmetarank\u002Fmetarank\u002Fpull\u002F1277 中完成\n* CI：将 LocalStack 升级至 3.2.0，由 @shuttie 在 https:\u002F\u002Fgithub.com\u002Fmetarank\u002Fmetarank\u002Fpull\u002F1276 中完成\n* 将 Kinesis-Mock 升级至 0.4.6，由 @shuttie 在 https:\u002F\u002Fgithub.com\u002Fmetarank\u002Fmetarank\u002Fpull\u002F1275 中完成\n* 由 @scala-steward 在 https:\u002F\u002Fgithub.com\u002Fmetarank\u002Fmetarank\u002Fpull\u002F1278 中将 rocksdbjni 更新至 9.0.0\n* 将 http4s 更新至 1.0.0-m41，由 @shuttie 在 https:\u002F\u002Fgithub.com\u002Fmetarank\u002Fmetarank\u002Fpull\u002F1281 中完成\n\n\n**完整变更日志**：https:\u002F\u002Fgithub.com\u002Fmetarank\u002Fmetarank\u002Fcompare\u002F0.7.7...0.7.8","2024-03-28T12:00:32",{"id":177,"version":178,"summary_zh":179,"released_at":180},61906,"0.7.7","## 修复的 bug\n* 由 @shuttie 在 https:\u002F\u002Fgithub.com\u002Fmetarank\u002Fmetarank\u002Fpull\u002F1259 中修复了模型缓存中的原生内存泄漏问题。\n* 由 @shuttie 在 https:\u002F\u002Fgithub.com\u002Fmetarank\u002Fmetarank\u002Fpull\u002F1266 中为已关闭的增强器添加了保护机制。\n* 由 @shuttie 在 https:\u002F\u002Fgithub.com\u002Fmetarank\u002Fmetarank\u002Fpull\u002F1267 中修复了因 client|setinfo 被阻塞而导致的 Redis 7.2+ 的 CI 问题。\n\n## 文档\n* - 由 @vgoloviznin 在 https:\u002F\u002Fgithub.com\u002Fmetarank\u002Fmetarank\u002Fpull\u002F1236 中添加了预热参考文档。\n\n## 其他\n* 由 @vgoloviznin 在 https:\u002F\u002Fgithub.com\u002Fmetarank\u002Fmetarank\u002Fpull\u002F1221 中更新了文档。\n* 由 @vgoloviznin 在 https:\u002F\u002Fgithub.com\u002Fmetarank\u002Fmetarank\u002Fpull\u002F1235 中更新了文档。\n* 由 @vgoloviznin 在 https:\u002F\u002Fgithub.com\u002Fmetarank\u002Fmetarank\u002Fpull\u002F1237 中更新了文档。\n* 由 @scala-steward 在 https:\u002F\u002Fgithub.com\u002Fmetarank\u002Fmetarank\u002Fpull\u002F1240 中将 lucene-analysis-common 等依赖更新至 9.9.2。\n* 由 @scala-steward 在 https:\u002F\u002Fgithub.com\u002Fmetarank\u002Fmetarank\u002Fpull\u002F1244 中将 scalafmt-core 更新至 3.8.0。\n* 由 @scala-steward 在 https:\u002F\u002Fgithub.com\u002Fmetarank\u002Fmetarank\u002Fpull\u002F1245 中将 scalatest 更新至 3.2.18。\n* 由 @scala-steward 在 https:\u002F\u002Fgithub.com\u002Fmetarank\u002Fmetarank\u002Fpull\u002F1246 中将 jcl-over-slf4j 更新至 2.0.12。\n* 由 @scala-steward 在 https:\u002F\u002Fgithub.com\u002Fmetarank\u002Fmetarank\u002Fpull\u002F1249 中将 sbt 更新至 1.9.9。\n* 由 @scala-steward 在 https:\u002F\u002Fgithub.com\u002Fmetarank\u002Fmetarank\u002Fpull\u002F1250 中将 rocksdbjni 更新至 8.10.2。\n* 由 @scala-steward 在 https:\u002F\u002Fgithub.com\u002Fmetarank\u002Fmetarank\u002Fpull\u002F1252 中将 kafka-clients 更新至 3.7.0。\n* 由 @scala-steward 在 https:\u002F\u002Fgithub.com\u002Fmetarank\u002Fmetarank\u002Fpull\u002F1253 中将 scala-library 更新至 2.13.13。\n* 由 @scala-steward 在 https:\u002F\u002Fgithub.com\u002Fmetarank\u002Fmetarank\u002Fpull\u002F1256 中将 sentry-logback 更新至 7.5.0。\n* 由 @scala-steward 在 https:\u002F\u002Fgithub.com\u002Fmetarank\u002Fmetarank\u002Fpull\u002F1258 中将 logback-classic 更新至 1.5.3。\n* 由 @scala-steward 在 https:\u002F\u002Fgithub.com\u002Fmetarank\u002Fmetarank\u002Fpull\u002F1243 中将 pulsar-client 和 pulsar-client-admin 更新至 3.2.0。\n* 由 @scala-steward 在 https:\u002F\u002Fgithub.com\u002Fmetarank\u002Fmetarank\u002Fpull\u002F1247 中将 kinesis 和 s3 更新至 2.23.21。\n* 由 @scala-steward 在 https:\u002F\u002Fgithub.com\u002Fmetarank\u002Fmetarank\u002Fpull\u002F1265 中将 pulsar-client 和 pulsar-client-admin 更新至 3.2.1。\n* 由 @scala-steward 在 https:\u002F\u002Fgithub.com\u002Fmetarank\u002Fmetarank\u002Fpull\u002F1264 中将 sentry-logback 更新至 7.6.0。\n* 由 @scala-steward 在 https:\u002F\u002Fgithub.com\u002Fmetarank\u002Fmetarank\u002Fpull\u002F1263 中将 s3 更新至 2.25.3。\n* 由 @scala-steward 在 https:\u002F\u002Fgithub.com\u002Fmetarank\u002Fmetarank\u002Fpull\u002F1262 中将 cats-effect 更新至 3.5.4。\n* 由 @scala-steward 在 https:\u002F\u002Fgithub.com\u002Fmetarank\u002Fmetarank\u002Fpull\u002F1261 中将 rocksdbjni 更新至 8.11.3。\n* 由 @scala-steward 在 https:\u002F\u002Fgithub.com\u002Fmetarank\u002Fmetarank\u002Fpull\u002F1260 中将 lucene-analysis-common 等依赖更新至 9.10.0。\n* 由 @scala-steward 在 https:\u002F\u002Fgithub.com\u002Fmetarank\u002Fmetarank\u002Fpull\u002F1273 中将 kinesis 更新至 2.25.15。\n* 由 @scala-steward 在 https:\u002F\u002Fgithub.com\u002Fmetarank\u002Fmetarank\u002Fpull\u002F1271 中将 lettuce-core 更新至 6.3.2.RELEASE。\n* 由 @scala-steward 在 https:\u002F\u002Fgithub.com\u002Fmetarank\u002Fmetarank\u002Fpull\u002F1270 中将 guava 更新至 33.1.0-jre。\n* 由 @scala-steward 在 https:\u002F\u002Fgithub.com\u002Fmetarank\u002Fmetarank\u002Fpull\u002F1269 中将 sbt-assembly 更新至 2.2.0。\n* 由 @scala-steward 在 https:\u002F\u002Fgithub.com\u002Fmetarank\u002Fmetarank\u002Fpull\u002F1268 中将 onnxruntime 更新至 1.17.1。","2024-03-24T17:25:01",{"id":182,"version":183,"summary_zh":184,"released_at":185},61907,"0.7.6","## 主要变更\n* 支持按查询和项作用域设置速率，由 @shuttie 在 https:\u002F\u002Fgithub.com\u002Fmetarank\u002Fmetarank\u002Fpull\u002F1227 中实现\n* 支持自定义评估指标名称，由 @shuttie 在 https:\u002F\u002Fgithub.com\u002Fmetarank\u002Fmetarank\u002Fpull\u002F1230 中实现\n* API 预热支持，由 @shuttie 在 https:\u002F\u002Fgithub.com\u002Fmetarank\u002Fmetarank\u002Fpull\u002F1233 中实现\n* GCP Memstore Redis：新增一个额外的开关，用于禁用 CLIENT TRACKING 缓存失效功能，由 @shuttie 在 https:\u002F\u002Fgithub.com\u002Fmetarank\u002Fmetarank\u002Fpull\u002F1231 中实现\n\n## 变更内容\n* 将 XGBoost 权重限制在 31 以内，由 @shuttie 在 https:\u002F\u002Fgithub.com\u002Fmetarank\u002Fmetarank\u002Fpull\u002F1223 中实现\n* 将 rocksdbjni 更新至 8.10.0 版本，由 @scala-steward 在 https:\u002F\u002Fgithub.com\u002Fmetarank\u002Fmetarank\u002Fpull\u002F1224 中实现\n* 文档更新：移除 relative_number，因其已被 regular number 取代，由 @shuttie 在 https:\u002F\u002Fgithub.com\u002Fmetarank\u002Fmetarank\u002Fpull\u002F1228 中完成\n* 禁止使用 RocksDB 后端保留的特征名称，由 @shuttie 在 https:\u002F\u002Fgithub.com\u002Fmetarank\u002Fmetarank\u002Fpull\u002F1229 中实现\n* 修复当分析负载中包含未知特征类型时出现的匹配错误，由 @shuttie 在 https:\u002F\u002Fgithub.com\u002Fmetarank\u002Fmetarank\u002Fpull\u002F1232 中完成\n\n\n**完整变更日志**：https:\u002F\u002Fgithub.com\u002Fmetarank\u002Fmetarank\u002Fcompare\u002F0.7.5...0.7.6","2024-01-30T07:09:23",{"id":187,"version":188,"summary_zh":189,"released_at":190},61908,"0.7.5","## 主要变更\n* @shuttie 在 https:\u002F\u002Fgithub.com\u002Fmetarank\u002Fmetarank\u002Fpull\u002F1214 中为 XGBoost\u002FLightGBM 添加了无偏 LTR 支持\n* @shuttie 在 https:\u002F\u002Fgithub.com\u002Fmetarank\u002Fmetarank\u002Fpull\u002F1215 中加速了评估中的 NDCG 计算\n* @shuttie 在 https:\u002F\u002Fgithub.com\u002Fmetarank\u002Fmetarank\u002Fpull\u002F1216 中记录了一种训练-测试集划分策略\n\n## 修复的缺陷\n* @shuttie 在 https:\u002F\u002Fgithub.com\u002Fmetarank\u002Fmetarank\u002Fpull\u002F1192 中修复了在不存在的排序上点击时导致的验证崩溃问题\n\n## 依赖项更新\n* @scala-steward 在 https:\u002F\u002Fgithub.com\u002Fmetarank\u002Fmetarank\u002Fpull\u002F1189 中将 logback-classic 更新至 1.4.13\n* @scala-steward 在 https:\u002F\u002Fgithub.com\u002Fmetarank\u002Fmetarank\u002Fpull\u002F1193 中将 logback-classic 更新至 1.4.14\n* @scala-steward 在 https:\u002F\u002Fgithub.com\u002Fmetarank\u002Fmetarank\u002Fpull\u002F1199 中将 kinesis 更新至 2.21.42\n* @scala-steward 在 https:\u002F\u002Fgithub.com\u002Fmetarank\u002Fmetarank\u002Fpull\u002F1212 中将 kinesis 和 s3 更新至 2.21.46\n* @scala-steward 在 https:\u002F\u002Fgithub.com\u002Fmetarank\u002Fmetarank\u002Fpull\u002F1211 中将 jcl-over-slf4j 更新至 2.0.11\n* @scala-steward 在 https:\u002F\u002Fgithub.com\u002Fmetarank\u002Fmetarank\u002Fpull\u002F1209 中将 rocksdbjni 更新至 8.9.1\n* @scala-steward 在 https:\u002F\u002Fgithub.com\u002Fmetarank\u002Fmetarank\u002Fpull\u002F1207 中将 pulsar-client 和 pulsar-client-admin 更新至 3.1.2\n* @scala-steward 在 https:\u002F\u002Fgithub.com\u002Fmetarank\u002Fmetarank\u002Fpull\u002F1205 中将 sentry-logback 更新至 7.2.0\n* @scala-steward 在 https:\u002F\u002Fgithub.com\u002Fmetarank\u002Fmetarank\u002Fpull\u002F1204 中将 lettuce-core 更新至 6.3.1.RELEASE\n* @scala-steward 在 https:\u002F\u002Fgithub.com\u002Fmetarank\u002Fmetarank\u002Fpull\u002F1201 中将 tokenizers 更新至 0.26.0\n* @scala-steward 在 https:\u002F\u002Fgithub.com\u002Fmetarank\u002Fmetarank\u002Fpull\u002F1196 中将 kafka-clients 更新至 3.6.1\n* @scala-steward 在 https:\u002F\u002Fgithub.com\u002Fmetarank\u002Fmetarank\u002Fpull\u002F1194 中将 commons-io 更新至 2.15.1\n* @scala-steward 在 https:\u002F\u002Fgithub.com\u002Fmetarank\u002Fmetarank\u002Fpull\u002F1210 中将 sbt 更新至 1.9.8\n* @scala-steward 在 https:\u002F\u002Fgithub.com\u002Fmetarank\u002Fmetarank\u002Fpull\u002F1202 中将 hnswlib-core 更新至 1.1.2\n* @scala-steward 在 https:\u002F\u002Fgithub.com\u002Fmetarank\u002Fmetarank\u002Fpull\u002F1206 中将 lucene-analysis-common 等组件更新至 9.9.1\n* @scala-steward 在 https:\u002F\u002Fgithub.com\u002Fmetarank\u002Fmetarank\u002Fpull\u002F1200 中将 api 更新至 0.26.0\n* @scala-steward 在 https:\u002F\u002Fgithub.com\u002Fmetarank\u002Fmetarank\u002Fpull\u002F1203 中将 guava 更新至 33.0.0-jre\n* @scala-steward 在 https:\u002F\u002Fgithub.com\u002Fmetarank\u002Fmetarank\u002Fpull\u002F1213 中将 s3 更新至 2.23.3\n* @shuttie 在 https:\u002F\u002Fgithub.com\u002Fmetarank\u002Fmetarank\u002Fpull\u002F1217 中迁移到 http4s 的 ember 后端\n* @shuttie 在 https:\u002F\u002Fgithub.com\u002Fmetarank\u002Fmetarank\u002Fpull\u002F1218 中升级了 uap-parser 和 circe-yaml\n* @shuttie 在 https:\u002F\u002Fgithub.com\u002Fmetarank\u002Fmetarank\u002Fpull\u002F1219 中将 mapdb 更新至 3.1.0\n* @shuttie 在 https:\u002F\u002Fgithub.com\u002Fmetarank\u002Fmetarank\u002Fpull\u002F1220 中将 http4s 更新至 M40\n\n\n**完整变更日志**: https:\u002F\u002Fgithub.com\u002Fmetarank\u002Fmetarank\u002Fcompare\u002F0.7.4...0.7.5","2024-01-16T09:26:21",{"id":192,"version":193,"summary_zh":194,"released_at":195},61909,"0.7.4","# 主要变更\n* 由 @shuttie 在 https:\u002F\u002Fgithub.com\u002Fmetarank\u002Fmetarank\u002Fpull\u002F1172 中修复了当 Redis 中数据缺失时，Divers 功能出现的崩溃问题。\n* 由 @shuttie 在 https:\u002F\u002Fgithub.com\u002Fmetarank\u002Fmetarank\u002Fpull\u002F1180 中实现了 RocksDB 状态存储。\n* 由 @shuttie 在 https:\u002F\u002Fgithub.com\u002Fmetarank\u002Fmetarank\u002Fpull\u002F1183 中添加了对自定义日志记录器的支持。\n* 由 @shuttie 在 https:\u002F\u002Fgithub.com\u002Fmetarank\u002Fmetarank\u002Fpull\u002F1185 中添加了对排序时 data=out 的检查。\n* 由 @shuttie 在 https:\u002F\u002Fgithub.com\u002Fmetarank\u002Fmetarank\u002Fpull\u002F1184 中修复了文件后端选项在初始化时未被使用的问题，并在结束时触发 RocksDB 合并操作。\n* 由 @shuttie 在 https:\u002F\u002Fgithub.com\u002Fmetarank\u002Fmetarank\u002Fpull\u002F1186 中为 termfreq 命令添加了检查，确保输出文件不存在。\n\n## 依赖项更新\n* 由 @scala-steward 在 https:\u002F\u002Fgithub.com\u002Fmetarank\u002Fmetarank\u002Fpull\u002F1168 中将 S3 更新至 2.21.25。\n* 由 @scala-steward 在 https:\u002F\u002Fgithub.com\u002Fmetarank\u002Fmetarank\u002Fpull\u002F1166 中将 Lettuce-Core 更新至 6.2.7.RELEASE。\n* 由 @scala-steward 在 https:\u002F\u002Fgithub.com\u002Fmetarank\u002Fmetarank\u002Fpull\u002F1176 中将 Sentry-Logback 更新至 6.34.0。\n* 由 @scala-steward 在 https:\u002F\u002Fgithub.com\u002Fmetarank\u002Fmetarank\u002Fpull\u002F1175 中将 Lettuce-Core 更新至 6.3.0.RELEASE。\n* 由 @scala-steward 在 https:\u002F\u002Fgithub.com\u002Fmetarank\u002Fmetarank\u002Fpull\u002F1174 中将 ONNX Runtime 更新至 1.16.3。\n* 由 @scala-steward 在 https:\u002F\u002Fgithub.com\u002Fmetarank\u002Fmetarank\u002Fpull\u002F1173 中将 sbt-assembly 更新至 2.1.5。\n\n\n**完整变更日志**: https:\u002F\u002Fgithub.com\u002Fmetarank\u002Fmetarank\u002Fcompare\u002F0.7.3...0.7.4","2023-11-28T20:19:26",{"id":197,"version":198,"summary_zh":199,"released_at":200},61910,"0.7.3","## 变更内容\n\n* 修复：Metarank 被 OOM 杀死（oomkiller）：在启用压缩的二进制格式中未关闭输出流，由 @tomsquest 在 https:\u002F\u002Fgithub.com\u002Fmetarank\u002Fmetarank\u002Fpull\u002F1150 中修复。\n\n## 依赖更新\n* 文档更新，由 @vgoloviznin 在 https:\u002F\u002Fgithub.com\u002Fmetarank\u002Fmetarank\u002Fpull\u002F1036 中完成。\n* 文档更新，由 @vgoloviznin 在 https:\u002F\u002Fgithub.com\u002Fmetarank\u002Fmetarank\u002Fpull\u002F1068 中完成。\n* 将 kinesis 和 s3 更新至 2.20.142 版本，由 @scala-steward 在 https:\u002F\u002Fgithub.com\u002Fmetarank\u002Fmetarank\u002Fpull\u002F1119 中完成。\n* 将 scalafmt-core 更新至 3.7.14 版本，由 @scala-steward 在 https:\u002F\u002Fgithub.com\u002Fmetarank\u002Fmetarank\u002Fpull\u002F1118 中完成。\n* 将 sbt-scalafmt 更新至 2.5.2 版本，由 @scala-steward 在 https:\u002F\u002Fgithub.com\u002Fmetarank\u002Fmetarank\u002Fpull\u002F1117 中完成。\n* 将 sentry-logback 更新至 6.29.0 版本，由 @scala-steward 在 https:\u002F\u002Fgithub.com\u002Fmetarank\u002Fmetarank\u002Fpull\u002F1116 中完成。\n* 将 rocksdbjni 更新至 8.3.3 版本，由 @scala-steward 在 https:\u002F\u002Fgithub.com\u002Fmetarank\u002Fmetarank\u002Fpull\u002F1122 中完成。\n* 将 scala-library 更新至 2.13.12 版本，由 @scala-steward 在 https:\u002F\u002Fgithub.com\u002Fmetarank\u002Fmetarank\u002Fpull\u002F1123 中完成。\n* 将 scalatest 更新至 3.2.17 版本，由 @scala-steward 在 https:\u002F\u002Fgithub.com\u002Fmetarank\u002Fmetarank\u002Fpull\u002F1124 中完成。\n* 将 s3 更新至 2.20.145 版本，由 @scala-steward 在 https:\u002F\u002Fgithub.com\u002Fmetarank\u002Fmetarank\u002Fpull\u002F1125 中完成。\n* 更新 cross-encoders.md 文件，由 @vgoloviznin 在 https:\u002F\u002Fgithub.com\u002Fmetarank\u002Fmetarank\u002Fpull\u002F1132 中完成。\n* 稳定文档，由 @vgoloviznin 在 https:\u002F\u002Fgithub.com\u002Fmetarank\u002Fmetarank\u002Fpull\u002F1133 中完成。\n* 将 sbt-assembly 更新至 2.1.3 版本，由 @scala-steward 在 https:\u002F\u002Fgithub.com\u002Fmetarank\u002Fmetarank\u002Fpull\u002F1127 中完成。\n* 将 onnxruntime 更新至 1.16.0 版本，由 @scala-steward 在 https:\u002F\u002Fgithub.com\u002Fmetarank\u002Fmetarank\u002Fpull\u002F1128 中完成。\n* 将 sbt 更新至 1.9.6 版本，由 @scala-steward 在 https:\u002F\u002Fgithub.com\u002Fmetarank\u002Fmetarank\u002Fpull\u002F1130 中完成。\n* 将 api 更新至 0.24.0 版本，由 @scala-steward 在 https:\u002F\u002Fgithub.com\u002Fmetarank\u002Fmetarank\u002Fpull\u002F1134 中完成。\n* 将 commons-io 更新至 2.14.0 版本，由 @scala-steward 在 https:\u002F\u002Fgithub.com\u002Fmetarank\u002Fmetarank\u002Fpull\u002F1136 中完成。\n* 将 sentry-logback 更新至 6.30.0 版本，由 @scala-steward 在 https:\u002F\u002Fgithub.com\u002Fmetarank\u002Fmetarank\u002Fpull\u002F1137 中完成。\n* 将 kafka-clients 更新至 3.6.0 版本，由 @scala-steward 在 https:\u002F\u002Fgithub.com\u002Fmetarank\u002Fmetarank\u002Fpull\u002F1138 中完成。\n* 将 lucene-analysis-common 等库更新至 9.8.0 版本，由 @scala-steward 在 https:\u002F\u002Fgithub.com\u002Fmetarank\u002Fmetarank\u002Fpull\u002F1139 中完成。\n* 将 rocksdbjni 更新至 8.5.4 版本，由 @scala-steward 在 https:\u002F\u002Fgithub.com\u002Fmetarank\u002Fmetarank\u002Fpull\u002F1140 中完成。\n* 将 kinesis 更新至 2.20.162 版本，由 @scala-steward 在 https:\u002F\u002Fgithub.com\u002Fmetarank\u002Fmetarank\u002Fpull\u002F1143 中完成。\n* 将 cats-effect 更新至 3.5.2 版本，由 @scala-steward 在 https:\u002F\u002Fgithub.com\u002Fmetarank\u002Fmetarank\u002Fpull\u002F1141 中完成。\n* 将 tokenizers 更新至 0.24.0 版本，由 @scala-steward 在 https:\u002F\u002Fgithub.com\u002Fmetarank\u002Fmetarank\u002Fpull\u002F1135 中完成。\n* 将 sbt-assembly 更新至 2.1.4 版本，由 @scala-steward 在 https:\u002F\u002Fgithub.com\u002Fmetarank\u002Fmetarank\u002Fpull\u002F1155 中完成。\n* 将 scalafmt-core 更新至 3.7.15 版本，由 @scala-steward 在 https:\u002F\u002Fgithub.com\u002Fmetarank\u002Fmetarank\u002Fpull\u002F1154 中完成。\n* 将 sbt 更新至 1.9.7 版本，由 @scala-steward 在 https:\u002F\u002Fgithub.com\u002Fmetarank\u002Fmetarank\u002Fpull\u002F1153 中完成。\n* 将 pulsar-client 和 pulsar-client-admin 更新至 3.1.1 版本，由 @scala-steward 在 https:\u002F\u002Fgithub.com\u002Fmetarank\u002Fmetarank\u002Fpull\u002F1152 中完成。\n* 将 commons-io 更新至 2.15.0 版本，由 @scala-steward 在…","2023-11-13T18:15:44",{"id":202,"version":203,"summary_zh":204,"released_at":205},61911,"0.7.2","## 重大变更\n* @shuttie 在 https:\u002F\u002Fgithub.com\u002Fmetarank\u002Fmetarank\u002Fpull\u002F1114 中添加了对 Redis TTL 的支持\n* @shuttie 在 https:\u002F\u002Fgithub.com\u002Fmetarank\u002Fmetarank\u002Fpull\u002F1112 中使用 DJL 分词器以支持 Hugging Face 分词\n\n## 修复\n* @shuttie 在 https:\u002F\u002Fgithub.com\u002Fmetarank\u002Fmetarank\u002Fpull\u002F1113 中将默认 API 超时时间设置为 5 分钟\n\n## 文档\n* @vgoloviznin 在 https:\u002F\u002Fgithub.com\u002Fmetarank\u002Fmetarank\u002Fpull\u002F1039 中添加了推理模型概述\n* @vgoloviznin 在 https:\u002F\u002Fgithub.com\u002Fmetarank\u002Fmetarank\u002Fpull\u002F1035 中修复并更新了 API 文档\n* 文档：@shuttie 在 https:\u002F\u002Fgithub.com\u002Fmetarank\u002Fmetarank\u002Fpull\u002F1115 中添加了关于 Redis 数据库配置的说明\n\n## 依赖项更新\n* @scala-steward 在 https:\u002F\u002Fgithub.com\u002Fmetarank\u002Fmetarank\u002Fpull\u002F1040 中将 onnxruntime 更新至 1.15.0\n* @scala-steward 在 https:\u002F\u002Fgithub.com\u002Fmetarank\u002Fmetarank\u002Fpull\u002F1041 中将 commons-io 更新至 2.12.0\n* @scala-steward 在 https:\u002F\u002Fgithub.com\u002Fmetarank\u002Fmetarank\u002Fpull\u002F1043 中将 lucene-analysis-common 等库更新至 9.6.0\n* @scala-steward 在 https:\u002F\u002Fgithub.com\u002Fmetarank\u002Fmetarank\u002Fpull\u002F1045 中将 sbt 更新至 1.8.3\n* @scala-steward 在 https:\u002F\u002Fgithub.com\u002Fmetarank\u002Fmetarank\u002Fpull\u002F1046 中将 scalatest 更新至 3.2.16\n* @scala-steward 在 https:\u002F\u002Fgithub.com\u002Fmetarank\u002Fmetarank\u002Fpull\u002F1049 中将 cats-effect 更新至 3.4.11\n* @scala-steward 在 https:\u002F\u002Fgithub.com\u002Fmetarank\u002Fmetarank\u002Fpull\u002F1052 中将 sentry-logback 更新至 6.21.0\n* @scala-steward 在 https:\u002F\u002Fgithub.com\u002Fmetarank\u002Fmetarank\u002Fpull\u002F1053 中将 scalafmt-core 更新至 3.7.4\n* @vgoloviznin 在 https:\u002F\u002Fgithub.com\u002Fmetarank\u002Fmetarank\u002Fpull\u002F1067 中修复并更新了 API 文档\n* @shuttie 在 https:\u002F\u002Fgithub.com\u002Fmetarank\u002Fmetarank\u002Fpull\u002F1111 中进行了依赖项更新\n\n\n\n**完整变更日志**: https:\u002F\u002Fgithub.com\u002Fmetarank\u002Fmetarank\u002Fcompare\u002F0.7.1...0.7.2","2023-09-05T11:09:09",{"id":207,"version":208,"summary_zh":209,"released_at":210},61912,"0.7.1","## Important changes\r\n* Embedding API by @shuttie in https:\u002F\u002Fgithub.com\u002Fmetarank\u002Fmetarank\u002Fpull\u002F1016\r\n* Dont compute unused features by @shuttie in https:\u002F\u002Fgithub.com\u002Fmetarank\u002Fmetarank\u002Fpull\u002F1031\r\n\r\n## Bugfixes\r\n* unbreak e2e tests for kafka by @shuttie in https:\u002F\u002Fgithub.com\u002Fmetarank\u002Fmetarank\u002Fpull\u002F1018\r\n* create dir when not-exists for mapdb by @shuttie in https:\u002F\u002Fgithub.com\u002Fmetarank\u002Fmetarank\u002Fpull\u002F1019\r\n* use ubuntu mirror for ci by @shuttie in https:\u002F\u002Fgithub.com\u002Fmetarank\u002Fmetarank\u002Fpull\u002F1020\r\n* fix crash on scalar codec with long numeric lists by @shuttie in https:\u002F\u002Fgithub.com\u002Fmetarank\u002Fmetarank\u002Fpull\u002F1021\r\n* fix flaky FileFreqEstimatorTest by @shuttie in https:\u002F\u002Fgithub.com\u002Fmetarank\u002Fmetarank\u002Fpull\u002F1022\r\n* file cts should accept only bin files by @shuttie in https:\u002F\u002Fgithub.com\u002Fmetarank\u002Fmetarank\u002Fpull\u002F1023\r\n* fix crash on reopening existing file state db by @shuttie in https:\u002F\u002Fgithub.com\u002Fmetarank\u002Fmetarank\u002Fpull\u002F1024\r\n* add took field to all api responses by @shuttie in https:\u002F\u002Fgithub.com\u002Fmetarank\u002Fmetarank\u002Fpull\u002F1025\r\n* expose all bi\u002Fcross encoder features in the \u002Finference endpoint by default by @shuttie in https:\u002F\u002Fgithub.com\u002Fmetarank\u002Fmetarank\u002Fpull\u002F1026\r\n* make lm.backend and lm.weights optional by @shuttie in https:\u002F\u002Fgithub.com\u002Fmetarank\u002Fmetarank\u002Fpull\u002F1027\r\n* implement file-based model store by @shuttie in https:\u002F\u002Fgithub.com\u002Fmetarank\u002Fmetarank\u002Fpull\u002F1028\r\n* expose \u002Finference api by @shuttie in https:\u002F\u002Fgithub.com\u002Fmetarank\u002Fmetarank\u002Fpull\u002F1029\r\n* unbreak mpnet onnx inference by @shuttie in https:\u002F\u002Fgithub.com\u002Fmetarank\u002Fmetarank\u002Fpull\u002F1030\r\n* ignore missing cache files by @shuttie in https:\u002F\u002Fgithub.com\u002Fmetarank\u002Fmetarank\u002Fpull\u002F1032\r\n* TermFreqDict gzipped file loading by @shuttie in https:\u002F\u002Fgithub.com\u002Fmetarank\u002Fmetarank\u002Fpull\u002F1033\r\n* add warning for single cts dataset by @shuttie in https:\u002F\u002Fgithub.com\u002Fmetarank\u002Fmetarank\u002Fpull\u002F1034\r\n\r\n## Dependencies\r\n* Update pulsar-client, pulsar-client-admin to 2.11.1 by @scala-steward in https:\u002F\u002Fgithub.com\u002Fmetarank\u002Fmetarank\u002Fpull\u002F1007\r\n* Update api to 0.22.0 by @scala-steward in https:\u002F\u002Fgithub.com\u002Fmetarank\u002Fmetarank\u002Fpull\u002F1003\r\n* Update rocksdbjni to 8.1.1.1 by @scala-steward in https:\u002F\u002Fgithub.com\u002Fmetarank\u002Fmetarank\u002Fpull\u002F1015\r\n* Update s3 to 2.20.48 by @scala-steward in https:\u002F\u002Fgithub.com\u002Fmetarank\u002Fmetarank\u002Fpull\u002F1008\r\n* Update logback-classic to 1.4.7 by @scala-steward in https:\u002F\u002Fgithub.com\u002Fmetarank\u002Fmetarank\u002Fpull\u002F1010\r\n* Update api to 0.22.1 by @scala-steward in https:\u002F\u002Fgithub.com\u002Fmetarank\u002Fmetarank\u002Fpull\u002F1009\r\n* Update sentry-logback to 6.18.1 by @scala-steward in https:\u002F\u002Fgithub.com\u002Fmetarank\u002Fmetarank\u002Fpull\u002F1013\r\n* Update cats-effect to 3.4.10 by @scala-steward in https:\u002F\u002Fgithub.com\u002Fmetarank\u002Fmetarank\u002Fpull\u002F1014\r\n\r\n\r\n**Full Changelog**: https:\u002F\u002Fgithub.com\u002Fmetarank\u002Fmetarank\u002Fcompare\u002F0.7.0...0.7.1","2023-05-10T22:10:39",{"id":212,"version":213,"summary_zh":214,"released_at":215},61913,"0.7.0","## New features\r\n* Semantic content recommendations by @shuttie in https:\u002F\u002Fgithub.com\u002Fmetarank\u002Fmetarank\u002Fpull\u002F969\r\n* Qdrant support for recommendations vector knn search by @shuttie in https:\u002F\u002Fgithub.com\u002Fmetarank\u002Fmetarank\u002Fpull\u002F971\r\n* Bi-encoder feature extractor by @shuttie in https:\u002F\u002Fgithub.com\u002Fmetarank\u002Fmetarank\u002Fpull\u002F981\r\n* explicit relevance judgments support by @shuttie in https:\u002F\u002Fgithub.com\u002Fmetarank\u002Fmetarank\u002Fpull\u002F983\r\n* BM25 field matching support by @shuttie in https:\u002F\u002Fgithub.com\u002Fmetarank\u002Fmetarank\u002Fpull\u002F987\r\n* Cross-encoder support by @shuttie in https:\u002F\u002Fgithub.com\u002Fmetarank\u002Fmetarank\u002Fpull\u002F1002\r\n\r\n## Minor changes\r\n* Docs update by @vgoloviznin in https:\u002F\u002Fgithub.com\u002Fmetarank\u002Fmetarank\u002Fpull\u002F853\r\n* Doc update by @vgoloviznin in https:\u002F\u002Fgithub.com\u002Fmetarank\u002Fmetarank\u002Fpull\u002F855\r\n* Fix link by @vgoloviznin in https:\u002F\u002Fgithub.com\u002Fmetarank\u002Fmetarank\u002Fpull\u002F857\r\n* New release by @vgoloviznin in https:\u002F\u002Fgithub.com\u002Fmetarank\u002Fmetarank\u002Fpull\u002F862\r\n* Fixes #963 by @vgoloviznin in https:\u002F\u002Fgithub.com\u002Fmetarank\u002Fmetarank\u002Fpull\u002F964\r\n* Doc update by @vgoloviznin in https:\u002F\u002Fgithub.com\u002Fmetarank\u002Fmetarank\u002Fpull\u002F965\r\n* Fixes for api doc by @vgoloviznin in https:\u002F\u002Fgithub.com\u002Fmetarank\u002Fmetarank\u002Fpull\u002F972\r\n* trim to top-N items for diversity extractor by @shuttie in https:\u002F\u002Fgithub.com\u002Fmetarank\u002Fmetarank\u002Fpull\u002F979\r\n* fix utf8 handling when run in docker by @shuttie in https:\u002F\u002Fgithub.com\u002Fmetarank\u002Fmetarank\u002Fpull\u002F980\r\n* merge biencoder and field_match by @shuttie in https:\u002F\u002Fgithub.com\u002Fmetarank\u002Fmetarank\u002Fpull\u002F982\r\n* fix(doc): typo in cli.md by @tomsquest in https:\u002F\u002Fgithub.com\u002Fmetarank\u002Fmetarank\u002Fpull\u002F986\r\n* onnx embedding support for field_match by @shuttie in https:\u002F\u002Fgithub.com\u002Fmetarank\u002Fmetarank\u002Fpull\u002F989\r\n* use PrintProgress for autofeature status line by @shuttie in https:\u002F\u002Fgithub.com\u002Fmetarank\u002Fmetarank\u002Fpull\u002F991\r\n* Fix autofeature on explicit judgements by @shuttie in https:\u002F\u002Fgithub.com\u002Fmetarank\u002Fmetarank\u002Fpull\u002F992\r\n* add field split strategy by @shuttie in https:\u002F\u002Fgithub.com\u002Fmetarank\u002Fmetarank\u002Fpull\u002F993\r\n* fix native memory leak in ONNX inference by @shuttie in https:\u002F\u002Fgithub.com\u002Fmetarank\u002Fmetarank\u002Fpull\u002F994\r\n* fix crash on analytics payload generation for biencoder schema by @shuttie in https:\u002F\u002Fgithub.com\u002Fmetarank\u002Fmetarank\u002Fpull\u002F995\r\n* emit user\u002Finfo train events only when needed by @shuttie in https:\u002F\u002Fgithub.com\u002Fmetarank\u002Fmetarank\u002Fpull\u002F996\r\n* BM25 should count doc freq, not field freq by @shuttie in https:\u002F\u002Fgithub.com\u002Fmetarank\u002Fmetarank\u002Fpull\u002F997\r\n* Caching support for embeddings by @shuttie in https:\u002F\u002Fgithub.com\u002Fmetarank\u002Fmetarank\u002Fpull\u002F998\r\n* show progress for embedding cache loading by @shuttie in https:\u002F\u002Fgithub.com\u002Fmetarank\u002Fmetarank\u002Fpull\u002F1001\r\n* support RFC4180 CSV double-quotes by @shuttie in https:\u002F\u002Fgithub.com\u002Fmetarank\u002Fmetarank\u002Fpull\u002F1000\r\n\r\n## Dependencies\r\n* Update kinesis, s3 to 2.20.21 by @scala-steward in https:\u002F\u002Fgithub.com\u002Fmetarank\u002Fmetarank\u002Fpull\u002F967\r\n* scalafmt 3.7.3 by @shuttie in https:\u002F\u002Fgithub.com\u002Fmetarank\u002Fmetarank\u002Fpull\u002F999\r\n* Update sentry-logback to 6.17.0 by @scala-steward in https:\u002F\u002Fgithub.com\u002Fmetarank\u002Fmetarank\u002Fpull\u002F990\r\n* Update rocksdbjni to 8.0.0 by @scala-steward in https:\u002F\u002Fgithub.com\u002Fmetarank\u002Fmetarank\u002Fpull\u002F985\r\n* less frequent dep update for aws-sdk by @shuttie in https:\u002F\u002Fgithub.com\u002Fmetarank\u002Fmetarank\u002Fpull\u002F975\r\n* Update s3 to 2.20.27 by @scala-steward in https:\u002F\u002Fgithub.com\u002Fmetarank\u002Fmetarank\u002Fpull\u002F978\r\n* Update jcl-over-slf4j to 2.0.7 by @scala-steward in https:\u002F\u002Fgithub.com\u002Fmetarank\u002Fmetarank\u002Fpull\u002F977\r\n* Update sentry-logback to 6.16.0 by @scala-steward in https:\u002F\u002Fgithub.com\u002Fmetarank\u002Fmetarank\u002Fpull\u002F976\r\n* Update logback-classic to 1.4.6 by @scala-steward in https:\u002F\u002Fgithub.com\u002Fmetarank\u002Fmetarank\u002Fpull\u002F973\r\n\r\n## New Contributors\r\n* @tomsquest made their first contribution in https:\u002F\u002Fgithub.com\u002Fmetarank\u002Fmetarank\u002Fpull\u002F986\r\n\r\n**Full Changelog**: https:\u002F\u002Fgithub.com\u002Fmetarank\u002Fmetarank\u002Fcompare\u002F0.6.4...0.7.0","2023-04-14T09:04:36",{"id":217,"version":218,"summary_zh":219,"released_at":220},61914,"0.6.4","## Important changes\r\nnothing, only bugfixes.\r\n\r\n## What's Changed\r\n* fix dockerhub latest tag pointing to all images by @shuttie in https:\u002F\u002Fgithub.com\u002Fmetarank\u002Fmetarank\u002Fpull\u002F954\r\n* scalar fields config format mismatch with docs by @shuttie in https:\u002F\u002Fgithub.com\u002Fmetarank\u002Fmetarank\u002Fpull\u002F960\r\n* allow empty features in config by @shuttie in https:\u002F\u002Fgithub.com\u002Fmetarank\u002Fmetarank\u002Fpull\u002F961\r\n* Fix crash on no reranker by @shuttie in https:\u002F\u002Fgithub.com\u002Fmetarank\u002Fmetarank\u002Fpull\u002F962\r\n\r\n## Dependencies\r\n* Update kinesis, s3 to 2.20.19 by @scala-steward in https:\u002F\u002Fgithub.com\u002Fmetarank\u002Fmetarank\u002Fpull\u002F959\r\n\r\n**Full Changelog**: https:\u002F\u002Fgithub.com\u002Fmetarank\u002Fmetarank\u002Fcompare\u002F0.6.3...0.6.4","2023-03-08T21:03:19",{"id":222,"version":223,"summary_zh":224,"released_at":225},61915,"0.6.3","## Important changes\r\n* diversity feature extractor by @shuttie in https:\u002F\u002Fgithub.com\u002Fmetarank\u002Fmetarank\u002Fpull\u002F932\r\n* Scoped rate feature by @shuttie in https:\u002F\u002Fgithub.com\u002Fmetarank\u002Fmetarank\u002Fpull\u002F951\r\n* fix issue with ndcg mismatch in booster and eval by @shuttie in https:\u002F\u002Fgithub.com\u002Fmetarank\u002Fmetarank\u002Fpull\u002F940\r\n\r\n## Minor things\r\n* make item_age accept item.timestamp by @shuttie in https:\u002F\u002Fgithub.com\u002Fmetarank\u002Fmetarank\u002Fpull\u002F933\r\n* add local_time support ranking.timestamp by @shuttie in https:\u002F\u002Fgithub.com\u002Fmetarank\u002Fmetarank\u002Fpull\u002F934\r\n* string feature support for ranking.field by @shuttie in https:\u002F\u002Fgithub.com\u002Fmetarank\u002Fmetarank\u002Fpull\u002F947\r\n* add progress bar to MemClickthroughStore by @shuttie in https:\u002F\u002Fgithub.com\u002Fmetarank\u002Fmetarank\u002Fpull\u002F929\r\n* add max-interaction-position event selector by @shuttie in https:\u002F\u002Fgithub.com\u002Fmetarank\u002Fmetarank\u002Fpull\u002F928\r\n* ranking length selector by @shuttie in https:\u002F\u002Fgithub.com\u002Fmetarank\u002Fmetarank\u002Fpull\u002F935\r\n\r\n## Bugfixes and performance improvements\r\n* string values validation by @shuttie in https:\u002F\u002Fgithub.com\u002Fmetarank\u002Fmetarank\u002Fpull\u002F927\r\n* performance fix in PeriodicCounterFeature by @shuttie in https:\u002F\u002Fgithub.com\u002Fmetarank\u002Fmetarank\u002Fpull\u002F931\r\n* check for too large dataset size by @shuttie in https:\u002F\u002Fgithub.com\u002Fmetarank\u002Fmetarank\u002Fpull\u002F925\r\n* add custom faster hashCode to ItemValue and MValue to speed-up mem store by @shuttie in https:\u002F\u002Fgithub.com\u002Fmetarank\u002Fmetarank\u002Fpull\u002F930\r\n* add tests for event selectors by @shuttie in https:\u002F\u002Fgithub.com\u002Fmetarank\u002Fmetarank\u002Fpull\u002F941\r\n* add check so model trained features = model inference features by @shuttie in https:\u002F\u002Fgithub.com\u002Fmetarank\u002Fmetarank\u002Fpull\u002F942\r\n\r\n## Dependencies\r\n* Update kinesis, s3 to 2.20.7 by @scala-steward in https:\u002F\u002Fgithub.com\u002Fmetarank\u002Fmetarank\u002Fpull\u002F916\r\n* Update kinesis, s3 to 2.20.12 by @scala-steward in https:\u002F\u002Fgithub.com\u002Fmetarank\u002Fmetarank\u002Fpull\u002F924\r\n* Update scalafmt-core to 3.7.2 by @scala-steward in https:\u002F\u002Fgithub.com\u002Fmetarank\u002Fmetarank\u002Fpull\u002F919\r\n* Update uap-java to 1.5.4 by @scala-steward in https:\u002F\u002Fgithub.com\u002Fmetarank\u002Fmetarank\u002Fpull\u002F915\r\n* Update cats-effect to 3.4.8 by @scala-steward in https:\u002F\u002Fgithub.com\u002Fmetarank\u002Fmetarank\u002Fpull\u002F920\r\n* lettuce 6.2.3 upgrade by @shuttie in https:\u002F\u002Fgithub.com\u002Fmetarank\u002Fmetarank\u002Fpull\u002F926\r\n* Update kinesis, s3 to 2.20.15 by @scala-steward in https:\u002F\u002Fgithub.com\u002Fmetarank\u002Fmetarank\u002Fpull\u002F939\r\n* Update sentry-logback to 6.15.0 by @scala-steward in https:\u002F\u002Fgithub.com\u002Fmetarank\u002Fmetarank\u002Fpull\u002F938\r\n* Update rocksdbjni to 7.10.2 by @scala-steward in https:\u002F\u002Fgithub.com\u002Fmetarank\u002Fmetarank\u002Fpull\u002F949\r\n* Update kinesis, s3 to 2.20.17 by @scala-steward in https:\u002F\u002Fgithub.com\u002Fmetarank\u002Fmetarank\u002Fpull\u002F950\r\n* Update circe-core, circe-generic, ... to 0.14.5 by @scala-steward in https:\u002F\u002Fgithub.com\u002Fmetarank\u002Fmetarank\u002Fpull\u002F948\r\n* Update sbt-docker to 1.10.0 by @scala-steward in https:\u002F\u002Fgithub.com\u002Fmetarank\u002Fmetarank\u002Fpull\u002F952\r\n\r\n\r\n**Full Changelog**: https:\u002F\u002Fgithub.com\u002Fmetarank\u002Fmetarank\u002Fcompare\u002F0.6.3-M2...0.6.3","2023-03-06T22:36:20",{"id":227,"version":228,"summary_zh":229,"released_at":230},61916,"0.6.3-M2","## User-visible bug fixes\r\n* do not queue empty ranking for flushing by @shuttie in https:\u002F\u002Fgithub.com\u002Fmetarank\u002Fmetarank\u002Fpull\u002F911\r\n* better mapdb layout by @shuttie in https:\u002F\u002Fgithub.com\u002Fmetarank\u002Fmetarank\u002Fpull\u002F910\r\n* make redis flush conditional of pipelining by @shuttie in https:\u002F\u002Fgithub.com\u002Fmetarank\u002Fmetarank\u002Fpull\u002F912\r\n* Expose import cache options in config by @shuttie in https:\u002F\u002Fgithub.com\u002Fmetarank\u002Fmetarank\u002Fpull\u002F913\r\n* Better progress-bar logs while importing by @shuttie in https:\u002F\u002Fgithub.com\u002Fmetarank\u002Fmetarank\u002Fpull\u002F914\r\n\r\n## What's Changed\r\n* Update sbt-assembly to 2.1.1 by @scala-steward in https:\u002F\u002Fgithub.com\u002Fmetarank\u002Fmetarank\u002Fpull\u002F903\r\n* Update sentry-logback to 6.14.0 by @scala-steward in https:\u002F\u002Fgithub.com\u002Fmetarank\u002Fmetarank\u002Fpull\u002F907\r\n* Update kinesis, s3 to 2.20.5 by @scala-steward in https:\u002F\u002Fgithub.com\u002Fmetarank\u002Fmetarank\u002Fpull\u002F909\r\n* Update cats-effect to 3.4.7 by @scala-steward in https:\u002F\u002Fgithub.com\u002Fmetarank\u002Fmetarank\u002Fpull\u002F908\r\n\r\n\r\n**Full Changelog**: https:\u002F\u002Fgithub.com\u002Fmetarank\u002Fmetarank\u002Fcompare\u002F0.6.3-M1...0.6.3","2023-02-17T17:30:13",{"id":232,"version":233,"summary_zh":234,"released_at":235},61917,"0.6.3-M1","This is a alpha\u002Fmilestone release!\r\n\r\n## Fixes\r\n* do not append to cts file by @shuttie in https:\u002F\u002Fgithub.com\u002Fmetarank\u002Fmetarank\u002Fpull\u002F896\r\n* fix race condition in model upload by @shuttie in https:\u002F\u002Fgithub.com\u002Fmetarank\u002Fmetarank\u002Fpull\u002F898\r\n* enable batching in kvstore redis sink by @shuttie in https:\u002F\u002Fgithub.com\u002Fmetarank\u002Fmetarank\u002Fpull\u002F901\r\n\r\n## What's Changed\r\n* Update better-files to 3.9.2 by @scala-steward in https:\u002F\u002Fgithub.com\u002Fmetarank\u002Fmetarank\u002Fpull\u002F886\r\n* Update sentry-logback to 6.13.1 by @scala-steward in https:\u002F\u002Fgithub.com\u002Fmetarank\u002Fmetarank\u002Fpull\u002F888\r\n* Update kafka-clients to 3.4.0 by @scala-steward in https:\u002F\u002Fgithub.com\u002Fmetarank\u002Fmetarank\u002Fpull\u002F889\r\n* Update kinesis, s3 to 2.19.33 by @scala-steward in https:\u002F\u002Fgithub.com\u002Fmetarank\u002Fmetarank\u002Fpull\u002F890\r\n* Update kinesis, s3 to 2.20.1 by @scala-steward in https:\u002F\u002Fgithub.com\u002Fmetarank\u002Fmetarank\u002Fpull\u002F895\r\n* update ltrlib to 0.2.0 by @shuttie in https:\u002F\u002Fgithub.com\u002Fmetarank\u002Fmetarank\u002Fpull\u002F897\r\n* update circe to 0.14.4 by @shuttie in https:\u002F\u002Fgithub.com\u002Fmetarank\u002Fmetarank\u002Fpull\u002F899\r\n\r\n\r\n**Full Changelog**: https:\u002F\u002Fgithub.com\u002Fmetarank\u002Fmetarank\u002Fcompare\u002F0.6.2...0.6.3-M1","2023-02-10T22:03:56",{"id":237,"version":238,"summary_zh":239,"released_at":240},61918,"0.6.2","## Important changes\r\n* Print per-feature mem usage on import by @shuttie in https:\u002F\u002Fgithub.com\u002Fmetarank\u002Fmetarank\u002Fpull\u002F885\r\n* print ndcg before\u002Fafter training by @shuttie in https:\u002F\u002Fgithub.com\u002Fmetarank\u002Fmetarank\u002Fpull\u002F882\r\n\r\n## Minor things\r\n* Update hnswlib-core to 1.1.0 by @scala-steward in https:\u002F\u002Fgithub.com\u002Fmetarank\u002Fmetarank\u002Fpull\u002F863\r\n* Update kinesis, s3 to 2.19.29 by @scala-steward in https:\u002F\u002Fgithub.com\u002Fmetarank\u002Fmetarank\u002Fpull\u002F865\r\n* Update lucene-analysis-common, ... to 9.5.0 by @scala-steward in https:\u002F\u002Fgithub.com\u002Fmetarank\u002Fmetarank\u002Fpull\u002F864\r\n* lmart model should correctly handle no clickthroughts case by @shuttie in https:\u002F\u002Fgithub.com\u002Fmetarank\u002Fmetarank\u002Fpull\u002F870\r\n* fix FileFreqEstimatorTest being flaky by @shuttie in https:\u002F\u002Fgithub.com\u002Fmetarank\u002Fmetarank\u002Fpull\u002F875\r\n* use FBCDN ubuntu mirror for docker image builds by @shuttie in https:\u002F\u002Fgithub.com\u002Fmetarank\u002Fmetarank\u002Fpull\u002F877\r\n* print warn on too small split by @shuttie in https:\u002F\u002Fgithub.com\u002Fmetarank\u002Fmetarank\u002Fpull\u002F876\r\n* Update kinesis, s3 to 2.19.31 by @scala-steward in https:\u002F\u002Fgithub.com\u002Fmetarank\u002Fmetarank\u002Fpull\u002F873\r\n* use FBCDN ubuntu mirror for redis on CI by @shuttie in https:\u002F\u002Fgithub.com\u002Fmetarank\u002Fmetarank\u002Fpull\u002F878\r\n* do not remove unused features by @shuttie in https:\u002F\u002Fgithub.com\u002Fmetarank\u002Fmetarank\u002Fpull\u002F871\r\n* Update cats-effect to 3.4.6 by @scala-steward in https:\u002F\u002Fgithub.com\u002Fmetarank\u002Fmetarank\u002Fpull\u002F872\r\n* add check for empty request.items field for similar items rec by @shuttie in https:\u002F\u002Fgithub.com\u002Fmetarank\u002Fmetarank\u002Fpull\u002F879\r\n* Separate autoconf generators by @shuttie in https:\u002F\u002Fgithub.com\u002Fmetarank\u002Fmetarank\u002Fpull\u002F880\r\n* fix flakiness of FileStatsEstimatorTest by @shuttie in https:\u002F\u002Fgithub.com\u002Fmetarank\u002Fmetarank\u002Fpull\u002F881\r\n* fix crash on model load with unsupported bitstream error by @shuttie in https:\u002F\u002Fgithub.com\u002Fmetarank\u002Fmetarank\u002Fpull\u002F883\r\n\r\n\r\n**Full Changelog**: https:\u002F\u002Fgithub.com\u002Fmetarank\u002Fmetarank\u002Fcompare\u002F0.6.1...0.6.2","2023-02-07T12:10:01",{"id":242,"version":243,"summary_zh":244,"released_at":245},61919,"0.6.1","## Notable things\r\n* none, it's a bugfix release\r\n\r\n## Minor improvements\r\n* fix crash on non-existent file on file-based cts store by @shuttie in https:\u002F\u002Fgithub.com\u002Fmetarank\u002Fmetarank\u002Fpull\u002F860\r\n\r\n## Docs\r\n* Add k8s docs by @vgoloviznin in https:\u002F\u002Fgithub.com\u002Fmetarank\u002Fmetarank\u002Fpull\u002F672\r\n* Updated docs for vector feature (#694) by @vgoloviznin in https:\u002F\u002Fgithub.com\u002Fmetarank\u002Fmetarank\u002Fpull\u002F695\r\n* PR merge by @vgoloviznin in https:\u002F\u002Fgithub.com\u002Fmetarank\u002Fmetarank\u002Fpull\u002F722\r\n* Doc update by @vgoloviznin in https:\u002F\u002Fgithub.com\u002Fmetarank\u002Fmetarank\u002Fpull\u002F796\r\n* Releasing latest docs by @vgoloviznin in https:\u002F\u002Fgithub.com\u002Fmetarank\u002Fmetarank\u002Fpull\u002F805\r\n* Doc update by @vgoloviznin in https:\u002F\u002Fgithub.com\u002Fmetarank\u002Fmetarank\u002Fpull\u002F822\r\n* Doc fix by @vgoloviznin in https:\u002F\u002Fgithub.com\u002Fmetarank\u002Fmetarank\u002Fpull\u002F835\r\n* Updated recommendation docs by @vgoloviznin in https:\u002F\u002Fgithub.com\u002Fmetarank\u002Fmetarank\u002Fpull\u002F852\r\n* Fix changelog link by @vgoloviznin in https:\u002F\u002Fgithub.com\u002Fmetarank\u002Fmetarank\u002Fpull\u002F854\r\n* Fix link by @vgoloviznin in https:\u002F\u002Fgithub.com\u002Fmetarank\u002Fmetarank\u002Fpull\u002F856\r\n\r\n**Full Changelog**: https:\u002F\u002Fgithub.com\u002Fmetarank\u002Fmetarank\u002Fcompare\u002F0.6.0...0.6.1","2023-02-01T19:56:54",{"id":247,"version":248,"summary_zh":249,"released_at":250},61920,"0.6.0","## Important changes\r\n\r\n**For folks upgrading from 0.5.x: redis state format has changed, you need to re-import your dataset!**\r\n\r\n* file-based persistence (import performance improvement) by @shuttie in https:\u002F\u002Fgithub.com\u002Fmetarank\u002Fmetarank\u002Fpull\u002F824\r\n* Similar\u002Ftrending recommendations support by @shuttie in https:\u002F\u002Fgithub.com\u002Fmetarank\u002Fmetarank\u002Fpull\u002F808\r\n\r\n## Minor things\r\n* Fix docs for zsh users by @vgoloviznin in https:\u002F\u002Fgithub.com\u002Fmetarank\u002Fmetarank\u002Fpull\u002F821\r\n* Fix typo by @dakl in https:\u002F\u002Fgithub.com\u002Fmetarank\u002Fmetarank\u002Fpull\u002F834\r\n* fix flaky FileStatsEstimatorTest by @shuttie in https:\u002F\u002Fgithub.com\u002Fmetarank\u002Fmetarank\u002Fpull\u002F848\r\n* fix validation for item.relevancy fields by @shuttie in https:\u002F\u002Fgithub.com\u002Fmetarank\u002Fmetarank\u002Fpull\u002F850\r\n* update TOC for recommendations by @shuttie in https:\u002F\u002Fgithub.com\u002Fmetarank\u002Fmetarank\u002Fpull\u002F851\r\n\r\n## Dependencies\r\n* Update scalatest to 3.2.15 by @scala-steward in https:\u002F\u002Fgithub.com\u002Fmetarank\u002Fmetarank\u002Fpull\u002F823\r\n* Update sbt to 1.8.2 by @scala-steward in https:\u002F\u002Fgithub.com\u002Fmetarank\u002Fmetarank\u002Fpull\u002F820\r\n* Update http4s-blaze-client, ... to 1.0.0-M38 by @scala-steward in https:\u002F\u002Fgithub.com\u002Fmetarank\u002Fmetarank\u002Fpull\u002F819\r\n* Update pulsar-client, pulsar-client-admin to 2.10.3 by @scala-steward in https:\u002F\u002Fgithub.com\u002Fmetarank\u002Fmetarank\u002Fpull\u002F818\r\n* bump aws sdk to 2.19 by @shuttie in https:\u002F\u002Fgithub.com\u002Fmetarank\u002Fmetarank\u002Fpull\u002F826\r\n* Update kinesis, s3 to 2.19.21 by @scala-steward in https:\u002F\u002Fgithub.com\u002Fmetarank\u002Fmetarank\u002Fpull\u002F839\r\n* Update scalafmt-core to 3.7.0 by @scala-steward in https:\u002F\u002Fgithub.com\u002Fmetarank\u002Fmetarank\u002Fpull\u002F838\r\n* Update rocksdbjni to 7.9.2 by @scala-steward in https:\u002F\u002Fgithub.com\u002Fmetarank\u002Fmetarank\u002Fpull\u002F837\r\n* Update cats-effect to 3.4.5 by @scala-steward in https:\u002F\u002Fgithub.com\u002Fmetarank\u002Fmetarank\u002Fpull\u002F831\r\n* Update sentry-logback to 6.12.1 by @scala-steward in https:\u002F\u002Fgithub.com\u002Fmetarank\u002Fmetarank\u002Fpull\u002F830\r\n* Update kafka-clients to 3.3.2 by @scala-steward in https:\u002F\u002Fgithub.com\u002Fmetarank\u002Fmetarank\u002Fpull\u002F836\r\n* Update scalafmt-core to 3.7.1 by @scala-steward in https:\u002F\u002Fgithub.com\u002Fmetarank\u002Fmetarank\u002Fpull\u002F841\r\n* Update pulsar-client, pulsar-client-admin to 2.11.0 by @scala-steward in https:\u002F\u002Fgithub.com\u002Fmetarank\u002Fmetarank\u002Fpull\u002F827\r\n* Update kinesis, s3 to 2.19.25 by @scala-steward in https:\u002F\u002Fgithub.com\u002Fmetarank\u002Fmetarank\u002Fpull\u002F844\r\n* bump kafka\u002Fpulsar containers to latest versions for e2e tests by @shuttie in https:\u002F\u002Fgithub.com\u002Fmetarank\u002Fmetarank\u002Fpull\u002F846\r\n* Update sentry-logback to 6.13.0 by @scala-steward in https:\u002F\u002Fgithub.com\u002Fmetarank\u002Fmetarank\u002Fpull\u002F843\r\n\r\n## New Contributors\r\n* @dakl made their first contribution in https:\u002F\u002Fgithub.com\u002Fmetarank\u002Fmetarank\u002Fpull\u002F834\r\n\r\n**Full Changelog**: https:\u002F\u002Fgithub.com\u002Fmetarank\u002Fmetarank\u002Fcompare\u002F0.5.16...0.6.0","2023-01-31T14:49:33",{"id":252,"version":253,"summary_zh":254,"released_at":255},61921,"0.5.16","## What's Changed\r\n* expose JVM_OPTS to env by @shuttie in https:\u002F\u002Fgithub.com\u002Fmetarank\u002Fmetarank\u002Fpull\u002F832\r\n* fix empty-max crash by @shuttie in https:\u002F\u002Fgithub.com\u002Fmetarank\u002Fmetarank\u002Fpull\u002F833\r\n\r\n**Full Changelog**: https:\u002F\u002Fgithub.com\u002Fmetarank\u002Fmetarank\u002Fcompare\u002F0.5.15...0.5.16","2023-01-19T20:51:28"]