当前位置: 首页 > news >正文

如何自建网站?建筑兼职招聘网

如何自建网站?,建筑兼职招聘网,全包装修包括哪些项目,证书查询官网#x1f449; 点击关注不迷路 #x1f449; 点击关注不迷路 #x1f449; 点击关注不迷路 文章大纲 Elasticsearch新闻搜索引擎相关性优化实战3.2.3 案例#xff1a;新闻搜索引擎的相关性优化项目背景1. 相关性问题诊断与分析1.1 初始查询DSL示例1.2 问题诊断矩阵1.3 性能基… 点击关注不迷路 点击关注不迷路 点击关注不迷路 文章大纲 Elasticsearch新闻搜索引擎相关性优化实战3.2.3 案例新闻搜索引擎的相关性优化项目背景1. 相关性问题诊断与分析1.1 初始查询DSL示例1.2 问题诊断矩阵1.3 性能基线数据 2. 索引结构与字段权重优化2.1 字段映射优化方案2.2 字段权重调整策略 3. 时间衰减与语义增强方案3.1 时间衰减函数配置3.2 语义扩展方案 4. 查询结构重构与参数调优4.1 优化后查询DSL4.2 BM25参数调优 5. 效果验证与生产部署5.1 A/B测试结果对比5.2 性能指标变化 6. 监控体系与持续优化6.1 监控指标矩阵6.2 持续优化机制 关键结论与经验沉淀优化效果总结核心经验 附录优化工具链 Elasticsearch新闻搜索引擎相关性优化实战 3.2.3 案例新闻搜索引擎的相关性优化 项目背景 某主流新闻平台日均处理3.2亿次搜索请求面临以下挑战 数据特征6000万新闻文档平均正文长度1200字含多语言内容用户痛点 旧新闻过度出现在热点事件搜索结果中短标题新闻相关性得分异常多字段组合查询准确率不足58% 业务目标 CTR提升至25%首屏结果准确率90%平均搜索响应时间800ms 1. 相关性问题诊断与分析 1.1 初始查询DSL示例 // 向 Elasticsearch 发送 GET 请求目标是对 news 索引执行搜索操作GET /news/_search {// query 部分用于定义具体的查询逻辑是搜索请求的核心部分query: {// multi_match 是一种查询类型可在多个字段上执行匹配查询multi_match: {// query 指定要搜索的文本内容这里是搜索与“人工智能发展”相关的文档query: 人工智能发展,// fields 指定要在哪些字段上进行搜索使用数组形式列出多个字段fields: [// title^3 表示在 title 字段上进行搜索并且为该字段设置权重为 3// 意味着在 title 字段中匹配到的内容对文档相关性的贡献更大会提升文档的排序title^3,// content 表示在 content 字段上进行搜索该字段默认权重为 1content]}} }title^3 表示 title 字段的权重为 3也就是说在匹配时title 字段中出现匹配词的文档会比 content 字段中出现匹配词的文档获得更高的相关性分数。 1.2 问题诊断矩阵 问题类型典型表现影响范围根因分析时间敏感性不足3年前旧新闻占据Top578%查询缺乏时间衰减因子短文本过匹配5字标题新闻得分高于千字深度报道62%案例长度归一化参数不当语义理解缺失苹果优先匹配水果新闻45%查询缺乏同义词/语义扩展字段权重失衡正文匹配噪声过大87%请求title权重配置不合理 时间衰减因子Time Decay Function 时间衰减因子的核心原理是构建一个基于时间的函数该函数会依据文档的时间戳如创建时间、更新时间随着时间推移逐渐降低文档的权重。通常来说文档越新其权重越高文档越旧权重越低。常见的衰减函数类型 线性衰减Linear Decay按照固定速率随时间降低权重。 指数衰减Exponential Decay以指数形式快速降低权重。 高斯衰减Gaussian Decay基于高斯分布来降低权重 作用和优势 突出近期数据在新闻、社交媒体等场景中近期的内容通常更有价值和关注度使用时间衰减因子可以让近期的文档在搜索结果中排名更靠前。反映数据时效性在数据分析和统计中给予近期数据更高的权重能更准确地反映当前的趋势和情况。 1.3 性能基线数据 指标初始值目标值CTR18%28%P1057%90%平均响应时间1200ms750ms长尾查询准确率32%65% 在 ElasticsearchES相关的评估中P10 通常是指 Precision at 10即前 10 个搜索结果的精确率它是信息检索领域常用的评估指标。 精确率Precision衡量的是检索结果中相关文档的比例。P10 具体是指在检索系统返回的前 10 个搜索结果中相关文档所占的比例。其计算公式为 较高的 P10 值意味着搜索系统能够在靠前的位置展示更多相关的内容从而提升用户体验。在优化搜索算法、调整索引结构或尝试不同的查询方式时通过比较不同设置下的 P10 值可以判断哪种策略或模型能够产生更相关的前 10 个搜索结果进而选择更优的方案。 2. 索引结构与字段权重优化 2.1 字段映射优化方案 // 向 Elasticsearch 发送 PUT 请求用于创建一个名为 news 的索引 PUT /news {// mappings 用于定义索引中文档的字段类型和相关配置mappings: {// properties 部分定义了索引中各个字段的具体设置properties: {// title 字段用于存储新闻的标题title: {// type 指定字段类型为 text适用于存储较长的文本内容type: text,// analyzer 指定对该字段进行分词时使用的分析器这里使用 ik_max_word 分析器// ik_max_word 是 IK 分词器的一种模式会将文本尽可能地拆分成更多的词analyzer: ik_max_word,// fields 用于为字段创建多字段每个子字段可以有不同的配置fields: {// std 是 title 字段的子字段std: {// type 指定子字段类型为 texttype: text,// analyzer 指定对该子字段进行分词时使用的分析器这里使用 standard 标准分析器// 标准分析器会根据通用规则对文本进行分词analyzer: standard}}},// content 字段用于存储新闻的正文内容content: {// type 指定字段类型为 texttype: text,// analyzer 指定对该字段进行分词时使用的分析器这里使用 ik_smart 分析器// ik_smart 是 IK 分词器的另一种模式会进行更智能的分词拆分出的词相对较少analyzer: ik_smart,// position_increment_gap 指定在数组类型的文本字段中不同元素之间的位置增量间隔// 这里设置为 100意味着在进行短语查询等操作时不同元素之间的位置间隔为 100position_increment_gap: 100},// publish_time 字段用于存储新闻的发布时间publish_time: {// type 指定字段类型为 date用于存储日期和时间信息type: date},// entity_tags 字段用于存储新闻的实体标签如人物、地点等标签entity_tags: {// type 指定字段类型为 keyword适用于存储不需要分词的精确值如标签、ID 等type: keyword}}} }2.2 字段权重调整策略 字段初始权重优化权重调整依据title35点击日志分析content10.8文本长度归一化entity_tags02实体识别准确率提升author0.51.2权威作者权重增强 3. 时间衰减与语义增强方案 3.1 时间衰减函数配置 GET /news/_search {// query 部分用于定义搜索的具体查询逻辑query: {// function_score 是一种特殊的查询类型允许我们根据自定义函数来修改文档的相关性得分function_score: {// query 子句是基础查询用于筛选出符合特定条件的文档// 这里的 ... 表示需要根据实际需求填写具体的查询条件例如可以是 match 查询、term 查询等query: { ... },// functions 是一个数组包含一个或多个自定义的评分函数用于调整文档的得分functions: [{// exp 表示使用指数衰减函数来计算文档的得分exp: {// publish_time 是文档中的日期字段该函数将基于这个字段的值进行衰减计算publish_time: {// scale 指定衰减的时间范围这里设置为 30d 表示 30 天// 意味着在 30 天内文档的得分会按照指数函数进行衰减scale: 30d,// decay 表示衰减的程度这里设置为 0.5// 即经过 30 天后文档的得分会降低到原来的 0.5 倍decay: 0.5}},// weight 是对当前函数计算出的得分进行加权这里设置为 2// 意味着指数衰减函数计算出的得分会乘以 2weight: 2}],// boost_mode 指定基础查询得分和函数得分的组合方式// 这里设置为 sum 表示将基础查询的得分和函数计算出的得分相加得到最终的文档得分boost_mode: sum}} }3.2 语义扩展方案 PUT /news/_settings{// analysis 部分用于配置索引的文本分析相关设置包括分词器、过滤器等analysis: {// filter 用于定义在文本分析过程中使用的过滤器过滤器可以对分词后的词项进行修改、删除、替换等操作filter: {// tech_synonyms 是自定义的过滤器名称用于处理技术术语的同义词替换tech_synonyms: {// type 指定过滤器的类型这里使用 synonym 表示这是一个同义词过滤器type: synonym,// synonyms 是一个数组用于定义具体的同义词规则synonyms: [// 表示 AI、人工智能 和 人工智慧 这三个词互为同义词// 在文本分析时遇到其中任何一个词都会将其替换为其他同义词AI, 人工智能, 人工智慧,// 表示 ML、机器学习 和 機器學習 这三个词互为同义词// 同样在文本分析时会进行相应的替换ML, 机器学习, 機器學習]}},// analyzer 用于定义自定义的分析器分析器由分词器和一系列过滤器组成用于对文本进行分词和处理analyzer: {// ik_smart_syno 是自定义的分析器名称ik_smart_syno: {// type 指定分析器的类型这里使用 custom 表示这是一个自定义分析器type: custom,// tokenizer 指定分析器使用的分词器这里使用 ik_smart// ik_smart 是 IK 分词器的一种模式会进行更智能的分词拆分出的词相对较少tokenizer: ik_smart,// filter 是一个数组指定分析器在分词后使用的过滤器// 这里使用前面定义的 tech_synonyms 过滤器用于处理同义词替换filter: [tech_synonyms]}}} }4. 查询结构重构与参数调优 4.1 优化后查询DSL GET /news/_search{// query 部分定义了搜索的具体查询逻辑query: {// bool 查询是一种组合查询允许将多个子查询组合在一起通过不同的逻辑关系来筛选文档bool: {// must 子句中的查询条件必须被满足文档才会被包含在搜索结果中must: {// multi_match 查询用于在多个字段上进行匹配查询multi_match: {// query 指定要搜索的文本内容这里是搜索与“人工智能发展”相关的文档query: 人工智能发展,// fields 指定要在哪些字段上进行搜索使用数组形式列出多个字段fields: [// title.std^5 表示在 title 字段的 std 子字段上进行搜索并且为该字段设置权重为 5// 意味着在 title.std 字段中匹配到的内容对文档相关性的贡献更大会提升文档的排序title.std^5,// content^0.8 表示在 content 字段上进行搜索该字段的权重为 0.8content^0.8],// type 指定 multi_match 查询的类型这里使用 best_fields// best_fields 类型会在每个字段上分别执行查询然后选择得分最高的字段的得分作为文档的最终得分type: best_fields,// tie_breaker 用于处理多个字段得分相同的情况// 当多个字段得分相同时会将其他字段得分乘以 tie_breaker 的值后与最高得分相加得到最终得分// 这里设置为 0.3tie_breaker: 0.3}},// should 子句中的查询条件是可选的如果文档满足其中一个或多个条件会增加其相关性得分should: [{// term 查询用于精确匹配字段的值// 这里是精确匹配 entity_tags 字段的值是否为 AIterm: {entity_tags: AI}},{// match 查询用于对字段进行全文匹配// 这里是匹配 author 字段中是否包含 科技专栏match: {author: 科技专栏}}],// filter 子句中的查询条件用于过滤文档不影响文档的相关性得分filter: [{// range 查询用于筛选字段值在某个范围内的文档// 这里是筛选 publish_time 字段的值大于等于当前时间减去 180 天精确到天的文档range: {publish_time: {gte: now-180d/d}}}]}} }4.2 BM25参数调优 参数默认值优化值调整效果k11.20.8降低短文本过匹配b0.750.65加强长度归一化boost_modesummultiply增强时间因子影响力 5. 效果验证与生产部署 5.1 A/B测试结果对比 指标对照组实验组提升幅度CTR18.2%27.8%52.7%首屏准确率57.3%89.6%56.4%旧新闻出现率34.7%6.2%-82.1%长尾查询满意度31.5%63.8%102.5% 5.2 性能指标变化 指标优化前优化后变化率平均响应时间1240ms730ms-41.1%90%分位延迟2400ms1350ms-43.8%CPU利用率82%68%-17.1%GC停顿时间4.2s/m2.1s/m-50% 6. 监控体系与持续优化 6.1 监控指标矩阵 指标类型监控项报警阈值优化动作相关性指标CTR波动±5%持续2小时触发相关性复盘性能指标P99延迟1200ms查询结构优化业务指标用户搜索退出率25%语义模型更新系统指标JVM Old GC频率5次/分钟堆内存扩容 6.2 持续优化机制 #mermaid-svg-a9mygftYfNrVYfGM {font-family:"trebuchet ms",verdana,arial,sans-serif;font-size:16px;fill:#333;}#mermaid-svg-a9mygftYfNrVYfGM .error-icon{fill:#552222;}#mermaid-svg-a9mygftYfNrVYfGM .error-text{fill:#552222;stroke:#552222;}#mermaid-svg-a9mygftYfNrVYfGM .edge-thickness-normal{stroke-width:2px;}#mermaid-svg-a9mygftYfNrVYfGM .edge-thickness-thick{stroke-width:3.5px;}#mermaid-svg-a9mygftYfNrVYfGM .edge-pattern-solid{stroke-dasharray:0;}#mermaid-svg-a9mygftYfNrVYfGM .edge-pattern-dashed{stroke-dasharray:3;}#mermaid-svg-a9mygftYfNrVYfGM .edge-pattern-dotted{stroke-dasharray:2;}#mermaid-svg-a9mygftYfNrVYfGM .marker{fill:#333333;stroke:#333333;}#mermaid-svg-a9mygftYfNrVYfGM .marker.cross{stroke:#333333;}#mermaid-svg-a9mygftYfNrVYfGM svg{font-family:"trebuchet ms",verdana,arial,sans-serif;font-size:16px;}#mermaid-svg-a9mygftYfNrVYfGM .label{font-family:"trebuchet ms",verdana,arial,sans-serif;color:#333;}#mermaid-svg-a9mygftYfNrVYfGM .cluster-label text{fill:#333;}#mermaid-svg-a9mygftYfNrVYfGM .cluster-label span{color:#333;}#mermaid-svg-a9mygftYfNrVYfGM .label text,#mermaid-svg-a9mygftYfNrVYfGM span{fill:#333;color:#333;}#mermaid-svg-a9mygftYfNrVYfGM .node rect,#mermaid-svg-a9mygftYfNrVYfGM .node circle,#mermaid-svg-a9mygftYfNrVYfGM .node ellipse,#mermaid-svg-a9mygftYfNrVYfGM .node polygon,#mermaid-svg-a9mygftYfNrVYfGM .node path{fill:#ECECFF;stroke:#9370DB;stroke-width:1px;}#mermaid-svg-a9mygftYfNrVYfGM .node .label{text-align:center;}#mermaid-svg-a9mygftYfNrVYfGM .node.clickable{cursor:pointer;}#mermaid-svg-a9mygftYfNrVYfGM .arrowheadPath{fill:#333333;}#mermaid-svg-a9mygftYfNrVYfGM .edgePath .path{stroke:#333333;stroke-width:2.0px;}#mermaid-svg-a9mygftYfNrVYfGM .flowchart-link{stroke:#333333;fill:none;}#mermaid-svg-a9mygftYfNrVYfGM .edgeLabel{background-color:#e8e8e8;text-align:center;}#mermaid-svg-a9mygftYfNrVYfGM .edgeLabel rect{opacity:0.5;background-color:#e8e8e8;fill:#e8e8e8;}#mermaid-svg-a9mygftYfNrVYfGM .cluster rect{fill:#ffffde;stroke:#aaaa33;stroke-width:1px;}#mermaid-svg-a9mygftYfNrVYfGM .cluster text{fill:#333;}#mermaid-svg-a9mygftYfNrVYfGM .cluster span{color:#333;}#mermaid-svg-a9mygftYfNrVYfGM div.mermaidTooltip{position:absolute;text-align:center;max-width:200px;padding:2px;font-family:"trebuchet ms",verdana,arial,sans-serif;font-size:12px;background:hsl(80, 100%, 96.2745098039%);border:1px solid #aaaa33;border-radius:2px;pointer-events:none;z-index:100;}#mermaid-svg-a9mygftYfNrVYfGM :root{--mermaid-font-family:"trebuchet ms",verdana,arial,sans-serif;} 数据收集 问题识别 参数调整 A/B测试 全量部署 关键结论与经验沉淀 优化效果总结 时间衰减因子使新闻CTR提升38%。BM25参数调整解决短文本过匹配问题。多字段组合策略提升首屏准确率至89.6%。语义扩展模型使长尾查询满意度翻倍。 核心经验 建立量化评估体系NDCG人工评估。 NDCGNormalized Discounted Cumulative Gain归一化折损累计增益是信息检索领域中用于评估搜索结果排序质量的重要指标。 采用渐进式参数调整策略 构建自动化测试流水线 实现动态权重调整机制 附录优化工具链 工具类型具体工具应用场景相关性评估RankLibNDCG10计算查询分析Elasticsearch Profile查询耗时分解语义扩展ES Synonym API同义词库管理效果可视化Kibana LensCTR趋势分析 RankLib 在 ElasticsearchES中RankLib 是一个强大的开源学习排序Learning to Rank, LTR工具包它能够帮助用户利用机器学习算法来优化搜索结果的排序。传统的 Elasticsearch 搜索结果排序通常基于 TF-IDF词频 - 逆文档频率等简单的统计方法而 RankLib 可以结合更多的特征和机器学习模型使得搜索结果的排序更加符合用户的实际需求。 Elasticsearch Profile 是 Elasticsearch 提供的一个强大的调试和性能分析工具用于深入了解查询执行的详细过程和性能瓶颈。性能优化。当查询执行时间过长时可以使用 Profile 功能找出耗时的操作和分片从而有针对性地优化查询语句、调整索引配置或增加硬件资源。能够帮助开发者和运维人员更好地理解和优化 Elasticsearch 的查询性能。 ES Synonym API 在 ElasticsearchES中同义词Synonym在提升搜索准确性和召回率方面起着重要作用它允许用户将多个词视为等同的从而使搜索更加灵活。通常通过配置同义词过滤器Synonym Filter并将其集成到自定义分析器中来使用同义词。配置同义词有静态和动态两种方式。 1. 静态同义词配置 静态同义词配置是将同义词规则直接写在配置文件或者请求体中。 2. 动态同义词配置 动态同义词配置允许在不重启 ES 集群的情况下更新同义词规则通常借助文件来存储同义词规则。 Kibana Lens Kibana Lens 是 Elastic Stack 中 Kibana 提供的一个可视化工具它简化了数据可视化的过程使用户无需编写复杂的查询或脚本就能快速创建各种交互式可视化图表。
http://www.dnsts.com.cn/news/84253.html

相关文章:

  • 免费的建筑设计网站爱民网站制作
  • 基于html5开发的网站开发如何破解wordpress数据库
  • 做百科需要发哪些网站网页设计图片的代码
  • 网站排名 算法自己做的网站图片不显示
  • 网站首页布局的设计种子网站开发多少钱
  • 电商实训网站建设报告石家庄个人建站网站策划
  • 电商网站设计趋势seo网站优化软件
  • 建设电脑网站深圳好的网站制作哪家快
  • 网站建设张景鹏做网站的疑问有哪些
  • 十堰英文网站建设想要建设一个网站都需要注意什么
  • 网站建设进程表高端网站建设公司怎么做推广
  • 中牟做网站制作网页可以有效控制什么的位置
  • 企业网站备案 网站服务内容网站要怎么建立
  • 重庆购物网站建设营销型 网站建设流程
  • 建网站自己做服务器wordpress模板如何
  • 高频网站开发快看影视大全官方下载
  • 石家庄网站设计公司排名千图网免费素材
  • 江门站排名优化网店网站模板
  • 上海企业网站建设广州做seo整站优化公司
  • 南京建设企业网站的公司淘宝做网站的公司
  • 静态网站可以做哪些内容做公司网页
  • 关于网站设计的新闻传奇网页游戏赤月
  • 网站建设方案书 个人安徽省工程建设信息网查询信息
  • 网站建设做网站西安企业建站在哪里做
  • 南宁网站建设速成培训做网站业务的怎么寻找客户
  • 车机油哪个网站做的好钻井网站建设
  • wordpress 大型站电商首页设计图
  • 可以做自己的单机网站什么是网站收录
  • 微信网站作用怎么给网站做网站地图
  • 网站实名认证功能怎么做中华艺术宫室内设计