站内全文检索

站内全文检索

ID:21958399

大小:135.00 KB

页数:13页

时间:2018-10-25

站内全文检索_第1页
站内全文检索_第2页
站内全文检索_第3页
站内全文检索_第4页
站内全文检索_第5页
资源描述:

《站内全文检索》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库

1、站内全文检索Like模糊程度太低无法匹配几个关键词不在一起的造成全表扫描效率低下数据库全文检索:比较快的全文本检索规范要选作是开启全文检索字段会对搜索字段进行一定的分词处理但是只能是比较常用的分词方法数据表字段加索引Lucene.Net全文检索开发包文档性的可以指定分词工具和词库搜数据从lucene中查找更新数据库就要更新lucene1只能搜索文本2要把数据写到lucene中然后通过lucene搜索3lucene首先把文章进行分词挑选出关键词进行存储和加索引文章分词算法????搜索引擎内部保存的就是一个个的词一元分词:英文的比较好用。Standar

2、dAnalyzer低二元分词:每两个字算一个词。CJKAnalyzer高Xxccbbl中国天气基于词库的分词算法:基于一个词库进行分词可以提高分词的成功率和可读性。词库里面有的则可以分出来,没有的分不出来。比如庖丁解牛,盘古分词。效率比较低。词库根据需要还需要更新。一个优秀的分词算法很重要。网上择优选择一个最好的分词算法。分词算法的演示:一元分词:lucene.net3.0.3自身测试是一元分词Pangu分词不支持lucenne.net3.0.3Lucene.net版本2.9.2.2Pangu版本2.3.0具体解决方案在demo内测试数据无最多测试

3、2千数据其他解决方案:1elasticsearch2solrEasyNet.solr3sphinxphp常用(看样子是不太好局限性太强了N年不更新)4mysql全文检索方案可以配合3使用二:mysql使用方法三:mysql全文检索方法分词算法介绍:正向最大匹配法逆向最大匹配法最小切分双向最大匹配法综合分词特征/标志切分-断点切分现有的分词算法可分为三大类:基于字符串匹配的分词方法、基于理解的分词方法和基于统计的分词方法。文本挖掘分词作用语义识别基于字符串机器人拟人/语法语义判断:分词系统句法系统总控部分中文分词详解:分词算法基于理解1,词的出现频率

4、2,文本统计/文本词库基于统计新词识别分词难题歧义识别1基于词典的方法(字符串匹配,机械分词方法)定义:按照一定策略将待分析的汉字串和一个“大机器词典”中的词条进行匹配,或是在词典中找到某个字符串,则匹配成功。1.1正向最大匹配思想:MM1>从左到右取待切分的语句的m个字段作为匹配字段,m为大机器词典中最长词条个数。2>查找大机器词典并进行匹配,若匹配成功,则将这个匹配字段作为一个词切分出来。若匹配不成功,则将这个匹配字段的最后一个字去掉,剩下的字符串作为新的匹配字段在此匹配,重复上过程,直到切分出所有的词。1.2逆向最大匹配算法RMM该算法是正向

5、最大匹配的逆向思维,匹配不成功,将匹配字段最前面的一个字去掉,实验表明逆向算法要优于正向算法。1.3双向最大匹配法(BM)该算法是在正向最大匹配和逆向最大匹配中的结果进行比较从而决定正确的分词方法。1.4设立切分标志法收集切分标志,在自动分词前处理切分标志,再用M,RMM等进行细加工。2基于统计的分词(无字典分词)主要思想:上下文中,相邻的字同时出现的次数越多,就越可能构成一个词。N元文法模型(N-gram)隐马尔科夫模型(HMM)分词工具(C#下能用的):1:IKAnalyzer正向迭代最细粒度切分法2:CJKAnalyzer正向迭代二元切分不需

6、要词典不根据语义EXP:我们的祖国---->我们

7、们的

8、的祖

9、祖国检索出现找不到的情况蛮多3:pangu分词采用地点和统计结合的分词算法。4:paoding5:LibMMseg是Coreseek.com为sphinx全文搜索引擎设计的中文分词软件包。6:imdict-chinese-analyzer是imdict智能词典的智能中文分词模块。基于HMM模型。是ictclas的重新实现。7:mmseg4j利用MMSEG算法实现的中文分词器并实现lucene和solr。采用两种非此方法,都是基于正向最大匹配。8:结巴分词9:ICTCLAS中科院分词工具基

10、于算法的分词是不必要维护词库的,但是词库法则必须维护词库,短语在不断的发展。实际上现在许多著名的搜索引擎都采用了多种分词方法,并且有基于统计学的新词识别,自动维护词库等功能。检索引擎:solr或者Elasticsearch服务lucene.netspnixCoreseekMYSQL全文检索实例Lucene.net+pangu分词实现的全文检索分词可以换成CJKkAnalyzer或者IKAnalyzer我查的资料是现在mysql的全文索引对中文还是不支持的,如果想要实现可以采用将内容转换为拼音存储,然后关键字转换为拼音检索,或者将内容进行分词,把分词

11、后的保存一份,将检索条件分词,在分词后的内容中查找。用第三方实现:Demo:MYSQL57+EF6出现的BUG的解决方案:

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。