指南图书搜索第一版优化

Posted zzm568599448

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了指南图书搜索第一版优化相关的知识,希望对你有一定的参考价值。

指南、 图书搜索第一版优化

1.定位响应慢过程:

  • 1.了解接口访问整个流程

  • 2.拼url多次访问server返回时间为7~10s,初步判定为服务端问题

  • 3.拼url多次直接访问solr server,返回时间为7~10s,判断为solr server返回数据慢

  • 4.solr server 为什么慢?

    1.solr server 配置有问题问题?
    2.server请求条件太复杂?(类似于数据库?)
    
    查看数据库数据:
    1.图书456本
    2.指南2873条
    3.病例51296条
    不到6w条数据,默认的solr物理配置就没有问题
    

那么问题就是server请求参数的问题
下面是老服务搜索条件:

然后一个条件一个条件测试
去掉高亮搜索条件    queryUrl += "&hl=true"   返回时间都在100ms以内,那么就是高亮的问题。

分析高亮慢的原因
我们建图书索引的时候,将图书的内容全部都分词建了索引,书的内容大小从几M到几十M,导致这个字段过大,
查询很慢。高亮默认分析字符数为51200个

https://wiki.apache.org/solr/HighlightingParameters

2.解决问题:

1.我们继续减少高亮分析字符数为5000
2.减少高亮返回的片段

<requestHandler name="/searchBook" class="solr.SearchHandler">
     <lst name="defaults">
       <str name="echoParams">explicit</str>
       <str name="defType">edismax</str>
        <str name="qf">
          cnTitle^20000 introduce^2 MainContent^0.8
       </str>
       <bool name="hl">true</bool> 
       <bool name="hl.requireFieldMatch">true</bool> 
       <int name="hl.snippets">1</int>  
       <int name="hl.fragsize">30</int>    
       <int name="hl.maxAnalyzedChars">5000</int>
     </lst>
     <!-- append spellchecking to our list of components -->
     <arr name="last-components">
       <str>spellcheck</str>
     </arr>
  </requestHandler>

老服务图书搜索响应时间列表

新服务图书搜索响应时间列表


下一步优化方案:
1.需求不合理,根据关键字匹配取书内容,书的字数太多,匹配没有价值,将图书全文匹配干掉
2.增加图书tags,根据tags来匹配

以上是关于指南图书搜索第一版优化的主要内容,如果未能解决你的问题,请参考以下文章

指南图书搜索优化第二版

图书写作计划——teams入门指南(暂定) 图书大纲及写作概要

图书写作计划-Power BI入门指南 图书大纲及写作概要

Android开发权威指南的图书目录

通过病例流调来了解什么是广度优先搜索BFS

通过病例流调来了解什么是广度优先搜索BFS