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

来源:互联网 发布:time machine 恢复 mac 编辑:程序博客网 时间:2024/06/02 07:17

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

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来匹配

0 0