博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
Lucene.Net 优化索引生成,即搜索显示优化
阅读量:6152 次
发布时间:2019-06-21

本文共 638 字,大约阅读时间需要 2 分钟。

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

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

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

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

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

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

解决方案:

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

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

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

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

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

1:如果只是搜索标题和关键词,直接搜数据库就可以了(一般标题和关键词建个索引就可以了)

用数据库的全文索引,是因为要对内容进行索引。
为了转移数据库的压力,把全文索引转移到了Luncene。

2:没啥好说的。

转载于:https://www.cnblogs.com/chenmfly/p/5810181.html

你可能感兴趣的文章
bzoj 5006(洛谷 4547) [THUWC2017]Bipartite 随机二分图——期望DP
查看>>
CF 888E Maximum Subsequence——折半搜索
查看>>
欧几里德算法(辗转相除法)
查看>>
面试题1-----SVM和LR的异同
查看>>
MFC控件的SubclassDlgItem
查看>>
如何避免历史回退到登录页面
查看>>
《图解HTTP》1~53Page Web网络基础 HTTP协议 HTTP报文内的HTTP信息
查看>>
unix环境高级编程-高级IO(2)
查看>>
树莓派是如何免疫 Meltdown 和 Spectre 漏洞的
查看>>
雅虎瓦片地图切片问题
查看>>
HTML 邮件链接,超链接发邮件
查看>>
HDU 5524:Subtrees
查看>>
手机端userAgent
查看>>
pip安装Mysql-python报错EnvironmentError: mysql_config not found
查看>>
http协议组成(请求状态码)
查看>>
怎样成为一个高手观后感
查看>>
[转]VC预处理指令与宏定义的妙用
查看>>
JQuery radio单选框应用
查看>>
MySql操作
查看>>
python 解析 XML文件
查看>>