• [自爆系列]浅谈我对搜索的错误了解


    1:很久以来,对搜索的认识一直停留在百度搜索,觉得这种东西自己的项目关系不大

    image

    2:学会了sql之后,对搜索的了解上升到模糊查询,LIKE '%****%',

    3:了解到lucene.NET的存在后,知道了社区里面有专业的搜索方案,但中文分词缺乏,所以我拒绝使用。

    一直到我经历了下面这些丑事

       1:数据库的一个表分表后,要得到满足条件一组的数据,以前简单的select出来,现在select一下,数据库内存就不够了或io就满了

       2:为了给主要业务数据库做主从,把一个表写的非常频繁的字段单独拎出来,放在另外一个数据库里面,然后就无法按照这个字段排序了

       3:要读出一组数据,排序是很复杂的那种,写出来的sql不是吧cpu弄挂了,就是把io弄挂了

    然后这些事情让 我司的一个搜索组搞定了。。。。。。。。。。。

    刨根问底,是我以前总认为搜索和检索词有关系,有搜索就有检索词,没有检索词就没有搜索

    也自己知识面太狭小,实际上,只要是数据库做了主从或读写分离,数据表基本上都都存在横向拆分和纵向拆分,这个时候如果要得到一个简单的数据列表,如果走普通的sql,数据库的io随着压力的增加,肯快就挂掉了,

    所以,很多公司 都将搜索作为系统数据聚合的工具,各种列表走搜索,各种详情页面则直接走数据库+缓存

    对与lucene.NET,性能自然不是问题,加上现在可以跑在mono上,性能更是没问题,作为数据聚合的工具,没的说。

    关于中文检索,有盘古分词,小伙伴们说,效果还过得去。不过我更看中lucene.NET作为数据库聚合的手段,用来显示各种列表。

  • 相关阅读:
    安装虚拟环境virtualenv
    安装python3、ipython、jupyter
    配置yum源
    面向对象
    sqrt开平方算法的尝试,是的看了卡马克大叔的代码,我来试试用C#写个0x5f3759df和0x5f375a86跟System.Math.Sqrt到底哪个更强
    python开发环境
    phthon中的open函数模式
    picoscope 动态链接库调用位置确定,可进行图标编辑
    设计模式笔记(2)-工厂模式
    设计模式笔记(1)-单体模式
  • 原文地址:https://www.cnblogs.com/qqloving/p/3390050.html
Copyright © 2020-2023  润新知