• 开源搜索引擎 Iveely Search Engine 0.2.0 的发布


          Iveely Search Engine 是一款纯C#实现的搜索引擎。Iveely的中文翻译:爱为您。英文全称:I void everything , enjoy loving you! 希望更多的搜索引擎爱好者加入进来,感受分享的快乐。Iveely目标是:不是给用户一堆结果让用户去发现最适合自己的,我希望是返回的就是用户最想要的,用户完全无需筛选,所以Iveely Search Engine 永远没有分页,更希望它能嵌入机器人思维中,成为人类的良师益友。当然现在依然处于文本搜索阶段。我对搜索引擎的观点是:搜索引擎应该是互联网的学习者,我们应该制定一个规则,让它从一个不识字的孩子逐渐成为一个知识丰富的青年,逐步让它具有人的思维。这不是科幻,而是未来,I Believe!今后为人类服务的各式机器人,要拥有先进知识和灵活思维处理能力,也许只有搜索引擎能够赋予它这些。

          在上个月ISE的0.1.0发布,恰隔一个月,ISE的0.2.0今天也和大家见面了,感谢大家的支持,在开源社区已经有20位朋友follow了ISE,感谢他们,当然ISE毕竟只是一个初级版本,它的价值与大家的期望,依然存在一定的差距,希望今天带给大家的0.2.0能让大家喜欢,如果能参与进来就最好,开源主页:http://iveelyse.codeplex.com

          Iveely Search Engine 的0.2.0版本最大的特点就是“任务驱动式一键式运行”,简单的说就是,在无人监督的情况下,设定好您的参数,一个本地化的完整搜索引擎就可以利用起来,包含数据、索引更新等等都自动化完成。相对于0.1.0它在以下方面有一定的提升:
          1. 添加“帮您推荐” 功能。在搜索结果显示的时候,当命中最佳的网页时,该网页将会为您推荐它觉得其它最好的网页。例如:您到一家餐馆吃饭,这家餐馆非常适合您的口味,那么它将推荐它觉得最好的其它餐品给您。就是这个道理。
          2. 添加“缓存处理”功能。在0.1.0的搜索过程中,所有的每次请求,都将从索引中选出合适的网页编号,然后根据网页编号提取出数据,这实际是不合算的,在0.2.0种,添加了缓存策略,在最近搜索过的关键字中直接提取上次的结果缓存,无需从头至尾到数据中提取。主要采用数据结构:哈希双链表。
          3. 添加项目IveelySE.Run.Task,主要是讲所有的执行任务以任务机器的方式,选择间隔时间执行以及定期更新数据。例如:爬虫任务,可设定每次完成任务之后,6小时候再重新爬行一次。还有索引系统,定期更新系统,定期更新缓存等等,都即将依赖于IveelySE.Run.Task运行。
          4. IveelySE.Web,新建了IveelySE.InternetService,IveelySE.Web是我们搜索的展示,但是我们将其移出,采用网络服务的方式,你需要查看搜索结果,将不再依赖于网页,只需要浏览器中输入http://127.0.0.1:8088/query=您的关键字,即可。
          以上是ISE 0.2.0 相对于0.1.0版本的不同之处。
         下面我们来看一下,V0.2.0的更具体的情况,我们的一键运行主要是针对IveelySE.Run.Task.exe,在您运行此程序后,您无需关心其它事情。正常情况应该是这样:
        

          您会看到在任务机的驱动下,各个程序按照一定的时间点在执行,但是,你会看到第二行和第四行执行的是相同内容,但是时间上相差10min,这就是设定的,搜索服务每10分钟重新执行一次,原因是对新的索引的重新加载,以达到尽快的搜索到新收录的信息,而不需要人工参与。当搜索服务启动好之后,就可以执行搜索。也许您在犹豫,我在哪儿搜索呢?打开浏览器输入:http://127.0.0.1:8088/query=%E5%BE%AE%E8%BD%AF 您就会看到搜索结果。query=之后的数据就是您的关键词。搜索结果如下: 

     

          搜索信息全部来自博客园,也许您会发现,界面为什么比0.1.0版本丑多了,这也是此版本的改进,在服务启动的时候,提供了搜索服务url,以及最简单的搜索结果,没有更多的CSS去装饰,让UI开发人员与搜索开发人员脱离,做出更好的UI,当然你也可以进行一定的CSS美工处理,完全可以达到下面的结果 :

     

    外表只是一层皮而已,最实质的内容是我们最关心的问题。 

       

           这是上面搜索结果中的一条,我们的的搜索都有一项特征内容,这是根据TF-IDF等在众多数据中分析出的,这篇网页的关键信息,上例根据特征描述:微软windows发布,实际内容也是相关于windows发布的信息,当然特征分析准确率需要慢慢的提高。 

           下一步0.3.0 目标:时时搜索,难点在于索引更新策略,如何剔除原始数据的索引以及添加新的索引进去而对系统搜索效果性能没有影响以及时时监控网站变化内容,期待0.3.0.如果您有什么好的建议或意见,请联系我liufanping@iveely.com,或新浪微博

  • 相关阅读:
    在Linux中安装Oracle(较详细图解)
    SecureCRT
    MHA配置文件说明
    MySQL建表规范与常见问题 (go)
    Shell编程时常用的系统文件(转)
    Leetcode: Excel Sheet Column Title
    Leetcode: Find Peak Element
    Leetcode: Intersection of Two Linked Lists
    Leetcode: Majority Element
    Summary: Class Variable vs. Instance Variable && Class Method
  • 原文地址:https://www.cnblogs.com/liufanping/p/2667020.html
Copyright © 2020-2023  润新知