• Lucene.Net 优化索引生成,即搜索显示优化


    最近发现站内搜索引擎响应速度很慢,因为刚来公司之前技术员跑了源码什么的都没留下。只好自己手动破解源代码dll查找问题所在!

    这个问题代码就暂时不贴了这里只写思路

    原逻辑:经过整体分析后发现之前是使用 Lucene.Net 生成索引文本文档 ,搜索调用生成后的数据显示 。

    问题所在:由于数据量庞大又是全站数据生成,导致生成文本数据过大,生成速度慢,用的Lucene.Net还是老版本生成过程和前端调用文件产生冲突导致生成报错,还有就是访问量大导致Io顶不住

    分析发现由于对每个分类进行全字段进行保存索引导致生成过慢

    前端搜索分页也是读取所有命中的数据也是问题所在

    解决方案:

    经过和网友交流经验最终解决这两个问题

    1.生成索引:只储存有用的字段,比如我要搜索标题和关键词字段 ,那就只插入这两个字段数据和id

    这样的话大大减少生成文件的大小能提高命中响应速度

    2.前端搜索显示: 分页显示不要一次加载所有数据,比如显示第一页就只读第一页的数据,id对应二次加载对应显示的相关数据在使用缓存redis

    最后以上是本人目前感觉最好的优化方案,如有更好的方案请留言交流

    1:如果只是搜索标题和关键词,直接搜数据库就可以了(一般标题和关键词建个索引就可以了)
    用数据库的全文索引,是因为要对内容进行索引。
    为了转移数据库的压力,把全文索引转移到了Luncene。

    2:没啥好说的。

  • 相关阅读:
    centos7 部署kubernetes 1.20.1
    Pulse Width Modulation (PWM) interface
    imx6的IOMUX配置方法
    Linux下巧用转义符来完成多阶攻击
    记录一次半失败的php代码审计
    通过钉钉网页上的js学习xss打cookie
    PostMessage xss学习和挖掘
    解决Android微信支付官方demo运行失败
    Android集成银联支付,提示java.lang.UnsatisfieldLinkError错误
    解决 Plugin with id 'com.github.dcendents.android-maven' not found.
  • 原文地址:https://www.cnblogs.com/chenmfly/p/5810181.html
Copyright © 2020-2023  润新知