这个用来缓存词库,这里是分词器实现的最关键的地方通过这个条件不难看出这里只处理了,因此会丢掉其它的字符,如它会丢掉字符和数字这也是该分词器的个限制,您可以在此基础之上完善它,也很欢迎把您完善的结果反馈给我这里实现了正向最大匹配法,装载词库,您必须明白它的逻辑和之所以这样做的目的,这样您才能理解正向最大匹配法是如何实现的,,使得我们可以在词库中进行必要的注释,,,,,,,,,分词效果这是我在当日的新闻搞中随意选的段话此外,巴黎市政府所在地和巴黎两座体育场会挂出写有相同话语的巨幅标语,这两座体育场还安装了巨大屏幕,以方便巴黎市民和游客观看决赛。分词结果为此外巴黎市政府所在地和巴黎两座体育场会挂出写有相同话语的巨幅标语这两座体育场还安装了巨大屏幕以方便巴黎市民和游客观看决赛提示这个分词器还比较脆弱,要想将其用于类项目中您还需要做些工作,不过我想这里的分词器会成为您很好的起点。对于中文来说,全文索引首先还要解决个语言分析的问题,对于英文来说,语句中单词之间是天然通过空格分开的,但亚洲语言的中日韩文语句中的字是个字挨个,所有,首先要把语句中按词进行索引的话,这个词如何切分出来就是个很大的问题。首先,肯定不能用单个字符作为索引单元,否则查上海时,不能让含有索的文件以及索引的存放位置。在选择之后,单击个按钮即可建立索引。当索引被建立后,你还可以有选择的对已建立的索引进行更新和删除。界面设计按照功能需要,我们首先对索引器进行界面设计。他的总体界面如下所示。这个界面上方的添加要索引的文件路径用来弹出路径选择对话框,选择后路径添加到下行添加路径处,最下方是已建立的索引所对应的文件路径。你可以对其操作。具体如下图功能设计索引器实现的就是对个文件目录下的所有文件建立索引。建立索引的过程就是将物理文档转换成逻辑文档,然后添加到索引器的过程,过程中要处理下问题首先,要考虑的就是文件类型的问题。如果只是需要解决普通文本文件的搜索会非常容易,不需要文档解析器。但是考虑到些二进制文件的搜索,就需要文档解析器。其次,调用分析器对文本进行分析,主要是做分词,以构建倒排索引。最后,建立索引。也就是先将逻辑文档加入到索引器中,然后利用和本地文件系统的关联,将索引建立在本地磁盘上。桌面搜索引擎索引器实现解析器实现在前面已经提到过,如果只是需要解决普通文本文件的搜索会非常容易,不需要文档解析器。但是考虑到些二进制文件的搜索,就需要文档解析器。本节就详细讲解数据解析的实现。数据解析的程序共有四个类,分别用来解析文档文档文档。其中类用来解析文档类用来解析文档类用来解析文档。类用来解析纯文本文档。各类所需要引入的包有文档解析器文档格式,很常见,是微软的产品。有个附加组件包,可以用来解析文档,从中提取出文本。尽管这个组件包不再的发行版中,但它很有用,索引,很多人都需要它。下面就用组件来从文档中提取纯文本。类名为。实现代码如下其中方法是类的主要方法,根据传递过来的文件路径,用类来提取文本,并以字符串的形式返回。文档解析器对于于编程开发来讲,常常用到报表和打印,是可以做这项工作的,也可以,但用的最多的还是。所以,专门用来处理的类库比较多。例如,它是个开源码项目。此外,是个专门处理的组件。接下来就用它来读取文本内容。具体实现如下代码所示其中方法是类的主要方法,根据传递过来的文件路径,用类和类来提取文本,并以字符串的形式返回。文档解析器文档便携式文档格式是公司开发的文件格式。这是种常见的文档格式,这里我们关心如何从文档中提取纯文本内容。是个开源的,可以操作的文档的类库。它可以创建个新的文档,操作现有文档并提取文档中的内容。这里我们就用它来开发我们的文档解析器,具体实现代码如下其中方法是类的主要方法,根据传递过来的文件路径来提取文本,并以字符串的形式返回。过程为创建解析器,执行解析过程,获取解析器的文档对象,创建内容剥离器,最后得到文本。纯文本解析器文本文件不需要解析,解析器遇到文本文件时将内容直接读出来即可,所以这个纯文本解析器其实就是个文件内容读取器。具体代码如下中文分词考虑前面已经提到过本身自带了中文分词包,但是功能上还不能满足用户需求。分词器是个不错的分词分词器,许多人都在使用,本例也将采用它作为分词器。下面对分词器进行简单的介绍。分词器支持英文数字中文简体混合分词,常用的数量和人名的匹配,超过万词的词库整理,采用正向最大匹配的中文分词算法,相当于分词粒度等于。在分词效率方面,第次分词需要秒读取词典,之后速度基本与自带分词持平。以下例为示分词结果为据路透社报道印度尼西亚社会事务部官员星期二日表示日惹市附近当地时间日晨时分发生里氏级地震已经造成至少人死亡余人受伤近万人无家可归,可以看出很好的满足了用户的基本需求。索引器实现索引器要实现的就是对个目录下的所有文件建立索引,需要对指定文件目录进行遍历,同时这里需要考虑的就是文件的类型,如果只需要解决普通文件的的索引会很容易,但是要考虑到些非结构性文件,这就需要文档解析器,在上节中已经讲解了文档解析的实现。在建立索引时只需判断文件类型并调用上面的类就行。建立索引同时还要考虑索引的更新,这里分为自动更新和手动更新。代码解析导入索引器类所需要的类索引器要实现的是对个目录下的所有文件建立索引,需要对指定文件目录进行遍历,这里采用递归遍历的方法,在遍历的同时还要判断文件的类型。具体实现如下代码索引的具体实现。这是索引功能的核心代码,对每个具体目录下的具体文件建立索引。因为每次新建立的索引都要合并到已建立的索引磁盘上,为了不频繁的读写磁盘,所以每次先建立内存索引,然后再合并。在建立索引的同时需要考虑的就是文件的类型,如果只需要解决普通文件的索引会很容易,但是要考虑到些非结构性文件,这就需要文档解析器,实例解析如下图所示,启动服务器,输入即可运行程序。选择文件地址并点击新建索引后开始建立索引。以如下文件为例建立索引生成后的索引文件如下搜索器实现搜索器简介搜索器就是提供个搜索界面,用户可以输入搜索的关键字,然后点击搜索按钮,显示搜索结果。要实现这样的搜索器,我们需要两个程序,个提供用户输输入和显示结果界面,个用来实现搜索关键词的处理以及搜索结果的现实。搜索器界面搜索器的界面就是个搜索引擎与用户交互窗口,最简单的界面如下图所示搜索器实现搜索器的核心代码如下这个程序中定义了索引的路径。根据用户输入的关键词从索引中进行搜索,并将查询的结果放入容器中返回,控制器得到结果后,将结果转发给显示页面显示。输入的关键字可以指定是文件的标题还是内容,方便用户能够更精确的查找文件。实例演示部署程序后,启动服务器,在浏览器中输入,在输入框中输入关键字,如下所示单击搜索按钮,结果如下图所示数据持久化持久化简介在本系统中,持久化的数据相对较少,对于占持久化大部分的索引内容则保存在本地文件中,除此之外,在建立索引和按索引搜索时都需要知道索引文件的相关信息,包括建立索引的文件的路径,索引文件存放的路径,建立索引的时间等。因为这些持久化数据的量比较少,为了能够简化本系统的运行环境,更容易的安装系统,本系统采用文件来记录这些信息。文件内容如下具体实现创建文件和根节点向节点中添加新的纪录向节点中删除记录从文件中读取记录参考资料开发自己的搜索引擎车东,在应用中加入全文检索功能基于的全文索引引擎简介,软件基金会项目文档,著,侯捷译,编程思想第二版,机械工业出版社北京实战初识的官方网站现代信息检索专区上也匹配。但句话北京天安门,计算机如何按照中文的语言习惯进行切分呢北京天安门还是北京天安门让计算机能够按照语言习惯进行切分,往往需要机器有个比较丰富的词库才能够比较准确的识别出语句中的单词。另外个解决的办法是采用自动切分算法将单词按照元语法方式切分出来,比如北京天安门北京京天天安安门。这样,在查询的时候,无论是查询北京还是查询天安门,将查询词组按同样的规则进行切分北京天安安门,多个关键词之间按与的关系组合,同样能够正确地映射到相应的索引中。这种方式对于其他亚洲语言韩文,日文都是通用的。基于自动切分的最大优点是没有词表维护成本,实现简单,缺点是索引效率低,但对于中小型应用来说,基于元语法的切分还是够用的。基于元切分后的索引般大小和源文件差不多,而对于英文,索引文件般只有原文件的不同,自动切分词表切分实现实现非常简单实现复杂查询增加了查询分析的复杂程度适于实现比较复杂的查询语法规则存储效率索引冗余大,索引几乎和原文样大索引效率高,为原文大小的左右维护成本无词表维护成本词表维护成本非常高中日韩等语言需要分别维护。还需要包括词频统计等内容适用领域嵌入式系统运行环境资源有限分布式系统无词表同步问题对查询和存储效率要求高的专业搜索引擎多语言环境无词表维护成本的索引效率通常书籍后面常常附关键词索引表比如北京,页,上海,页,它能够帮助读者比较快地找到相关内容的页码。而数据库索引能够大大提高查询的速度原理也是样,想像下通过书后面的索引查找的速度要比页页地翻内容高多少倍而索引之所以效率高,另外个原因是它是排好序的。对于检索系统来说核心是个排序问题。由于数据库索引不是为全文索引设计的,因此,使用时,数据库索引是不起作用的,在使用查询时,搜索过程又变成类似于页页翻书的遍历过程了,所以对于含有模糊查询的数据
温馨提示:手指轻点页面,可唤醒全屏阅读模式,左右滑动可以翻页。
第 1 页 / 共 43 页
第 2 页 / 共 43 页
第 3 页 / 共 43 页
第 4 页 / 共 43 页
第 5 页 / 共 43 页
第 6 页 / 共 43 页
第 7 页 / 共 43 页
第 8 页 / 共 43 页
第 9 页 / 共 43 页
第 10 页 / 共 43 页
第 11 页 / 共 43 页
第 12 页 / 共 43 页
第 13 页 / 共 43 页
第 14 页 / 共 43 页
第 15 页 / 共 43 页
预览结束,还剩
28 页未读
阅读全文需用电脑访问
1、手机端页面文档仅支持阅读 15 页,超过 15 页的文档需使用电脑才能全文阅读。
2、下载的内容跟在线预览是一致的,下载后除PDF外均可任意编辑、修改。
3、所有文档均不包含其他附件,文中所提的附件、附录,在线看不到的下载也不会有。
1、该文档不包含其他附件(如表格、图纸),本站只保证下载后内容跟在线阅读一样,不确保内容完整性,请务必认真阅读。
2、有的文档阅读时显示本站(www.woc88.com)水印的,下载后是没有本站水印的(仅在线阅读显示),请放心下载。
3、除PDF格式下载后需转换成word才能编辑,其他下载后均可以随意编辑、修改、打印。
4、有的标题标有”最新”、多篇,实质内容并不相符,下载内容以在线阅读为准,请认真阅读全文再下载。
5、该文档为会员上传,下载所得收益全部归上传者所有,若您对文档版权有异议,可联系客服认领,既往收入全部归您。