搜索引擎 Iveely

码农软件 · 软件分类 · 搜索引擎 · 2019-08-27 07:44:09

软件介绍

     Iveely Search Engine 是一款纯C#实现的搜索引擎。Iveely的中文翻译:爱为您。英文全称:I void everything , enjoy loving you! 希望更多的搜索引擎爱好者加入进来,感受分享的快乐。我期望的Iveely目标是,不是给用户一堆结果让用户去发现最适合自己的,我希望是返回的就是用户 最想要的,用户完全无需筛选,所以Iveely Search Engine 永远没有分页,更希望它能嵌入机器人思维中,成为人类的良师益友。当然现在依然处于文本搜索阶段。

上图是Iveely Search Engine 0.1.0版本的截图,目前只有文本搜索部分,其余的新闻、视频等还没有完全做好,主要是统一的存储模型没有找到。下面大致说一个项目的基础结构:

上面主要分为三大块,刚好对应着Iveely搜索引擎中的三个运行步骤(当您下载程序后的运行方式就是按照上面上个步骤来的)。

1. 找到发布文件夹下的IveelySE.Spider.exe 文件,然后输入你需要爬行的链接。这是A搜索部分。
2 . 当爬行完毕之后,找到文件夹下的IveelySE.Index.exe 然后运行,直到结束。即完成索引。这是B整理部分。
3. 此刻你只需要,运行另外一个文件IveelySE.exe你就可以执行搜索了。搜索的界面你需要部署WebSite的网站,即可。或者你不想这样的话,你在不运行IveelySE.exe的情况下,直接运行Iveely.Search.exe 可在本地执行搜索。 这是C服务部分。

下面介绍一下整个解决方案中,各个项目的含义。

"IveelySE", "IveelySE\IveelySE.csproj", 是搜索服务建立部分,搜索的入口是从这里开始的。

"IveelySE.AI", "IveelySE.AI\IveelySE.AI.csproj", 搜索的人工智能部分,类似于专家系统。例如输入101+90=?就是通过这个项目计算出来的。

"IveelySE.Classify", "IveelySE.Classify\IveelySE.Classify.csproj",是搜索引擎中文本分类(聚类)的实现部分。

"IveelySE.Common", "IveelySE.Common\IveelySE.Common.csproj",是搜索引擎中共用部分的提取。

"IveelySE.Config", "IveelySE.Config\IveelySE.Config.csproj", 是搜索引擎中的配置部分,尽可能的配置在这个项目中实现。

"IveelySE.Grammar", "IveelySE.Grammar\IveelySE.Grammar.csproj", 是搜索引擎中的语法分析部分,例如:site、filetype等等。

"IveelySE.Index", "IveelySE.Index\IveelySE.Index.csproj", 是搜索引擎中的索引部分,原数据的整理主要在这里实现,倒排序等也是。

"IveelySE.Liquidate", "IveelySE.Liquidate\IveelySE.Liquidate.csproj",是语言处理部分,例如停用词过滤、敏感词等等的处理。

"IveelySE.Segment", "IveelySE.Segment\IveelySE.Segment.csproj", ISE中的分词部分,包含词库分词和隐马尔可夫分词。

"IveelySE.Server", "IveelySE.Server\IveelySE.Server.csproj", ISE中关于网络通信传输部分。

"IveelySE.Spider", "IveelySE.Spider\IveelySE.Spider.csproj", 这是网络爬虫,即数据搜集部分。

"IveelySE.IDFS", "IveelySE.IDFS\IveelySE.IDFS.csproj", 这是分布式文件系统部分,包括MapReduce的实现都将在此(此版本无效)。

"IveelySE.BigData", "IveelySE.BigData\IveelySE.BigData.csproj", 这是大数据处理部分(此版本无效)。

"IveelySE.BigData.Common", "IveelySE.BigData.Common\IveelySE.BigData.Common.csproj", 大数据处理的共同引用部分(此版本无效)。

"IveelySE.BigData.FileSystem", "IveelySE.BigData.FileSystem\IveelySE.BigData.FileSystem.csproj",大数据处理的虚拟文件系统(此版本无效)。

"IveelySE.BigData.MasterNode", "IveelySE.BigData.MasterNode\IveelySE.BigData.MasterNode.csproj", 大数据存储的主节点部分(此版本无效)。

"IveelySE.BigData.StoreNode", "IveelySE.BigData.StoreNode\IveelySE.BigData.StoreNode.csproj", 大数据存储的子节点部分(此版本无效)。

"IveelySE.Search", "IveelySE.Search\IveelySE.Search.csproj", 搜索的本地实现部分,无需Web,只要用于内部调试。

"IveelySE.Web", "IveelySE.Web\IveelySE.Web.csproj",搜索的Web端实现,界面采用ask的界面(在0.2.0版本中已经移除)。

     目前已经发布了0.2.0版本,  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版本的不同之处。

      无数的错误或者Bugs一定会让大家崩溃,但是请您放心,我们(更多的热爱开源事业的人士)会积极的修改其中的Bug,当然项目中也参杂了其它开源项目的东西,例如:Html分析采用的是HtmlAgilityPack。希望和更多地朋友一起分享我们的快乐。谢谢大家!项目地址:http://iveelyse.codeplex.com/

本文地址:https://www.codercto.com/soft/d/13259.html

Algorithms in Java, Part 5

Algorithms in Java, Part 5

Robert Sedgewick / Addison-Wesley Professional / 2003-7-25 / USD 54.99

Algorithms in Java, Third Edition, Part 5: Graph Algorithms is the second book in Sedgewick's thoroughly revised and rewritten series. The first book, Parts 1-4, addresses fundamental algorithms, data......一起来看看 《Algorithms in Java, Part 5》 这本书的介绍吧!

XML、JSON 在线转换
XML、JSON 在线转换

在线XML、JSON转换工具

HEX HSV 转换工具
HEX HSV 转换工具

HEX HSV 互换工具

HSV CMYK 转换工具
HSV CMYK 转换工具

HSV CMYK互换工具