• 关于开发简易搜索引擎的一些总结和思考


    在大学期间,有段时间对搜索还是比較感兴趣的,就研究了几天。

    后来,发现搜索引擎太难搞了,分词啥的,好多都是纯算法。

    感觉没啥意思,so就半途而废,玩别的技术领域去了。

      大学毕业增加秒针,对广告和监測有了一定的兴趣。

    so又想搞搜索引擎了。大概的目标就是,从网上爬去内容,建立索引,网友搜索、点击、广告点击等监測统计。存到数据库。

      这个项目,还真是做了,做完了一个Demo版。借助jsoup和自己写几行代码爬网页, 然后用lucene建立索引,然后就能够查询了,仅仅能存储最主要的日志。项目名称叫做FansITSearch。



      这个项目,还有另外一个用途, 就是索引硬盘中的内容,比方TXT、PDF、Word、Excel等各种类型的文档,方便自己查找。我们应该很清晰地看到,Windows自带的搜索,慢的和蜗牛一样。

      桌面搜索引擎,不知道有没有比較牛逼的。反正我还没有注意到。

       2014年下半年,在写个人官网和BriefCMS,都是側重内容型的站点,建立全站的全文搜索。还是很有实际价值的。

       在站点中,增加全文搜索功能。除去技术实现,怎么接入有2种思路:
    1.把Lucene实现的全文索引和查询,做成基础库。
      其他业务项目须要使用。就引入这个基础库,开发起来,仅仅须要提供数据等接口就能够了。
      这样的方式。我认为相对easy实现。毕竟是白盒的,能直接看到代码,定制很easy。

    2.把全文搜索做成一项服务。
      这个站点是一个独立的项目,其他不论什么内容型的站点,假设须要搜索功能,使用它的服务就好。


      比方。百度早期就是给其他门户站点提供站内搜索。
      服务怎么去实现呢,毕竟各个项目之间要互相独立。

       关于功能
    1. 爬虫
        用jsoup解析页面的url、自己写递归、逻辑推断,也能够使用WebMagic、Apache-solr。
      solr一定得认真研究下。http://lucene.apache.org/solr/

    2.存储数据
      文件、数据库

    3.索引
      lucene做

    4.查询
      lucene

    5.统计。

      自己写代码,比方搜索词、点击。

     

    原文首发:http://fansunion.cn/article/detail/579.html



      写这篇文章,事实上是想做个一个关于搜索的总结,同一时候。为2015年估计的开发做个思想准备,知道自己应该去解决哪些问题。

      估计2015年的项目有。小雷官网、BriefCMS、简易搜索、电商站点。

      力求做到,思路清晰、代码复用、 有商业价值、提高个人技术水准,更重要的是为可能的若干年之后的。“去而复返”做写技术准备。

  • 相关阅读:
    主线程 Looper.loop() 死循环为何不会ANR
    AIDL实例
    AIDL 的工作原理
    Flutter文本框TextField
    原理
    linux安装mysql可视化界面
    MySQL Workbench gnome-keyring-daemon错误的解决
    linux安装mysql以及修改密码和重启mysql等相关命令
    linux安装vlc视频播放器
    centos调整屏幕亮度
  • 原文地址:https://www.cnblogs.com/clnchanpin/p/6851538.html
Copyright © 2020-2023  润新知