Sphinx全文检索

Sphinx全文检索

ID:65418557

大小:1.66 MB

页数:30页

时间:2022-01-08

Sphinx全文检索_第1页
Sphinx全文检索_第2页
Sphinx全文检索_第3页
Sphinx全文检索_第4页
Sphinx全文检索_第5页
Sphinx全文检索_第6页
Sphinx全文检索_第7页
Sphinx全文检索_第8页
Sphinx全文检索_第9页
Sphinx全文检索_第10页
资源描述:

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

1、sphinx全文检索什么是全文检索一、生活中的数据总体分为:结构化数据:指具有固定格式或有限长度的数据,如数据库,元数据等。非结构化数据:指没有固定格式或不定长的数据,如邮件,word文档等。半结构化数据:如XML,HTML等,根据需要可按结构化数据处理,也可以抽取纯文本按非结构化数据处理。非结构化数据还有一种叫法:全文数据。二、按数据的分类,搜索也分为两种:对结构化数据的搜索:如对数据库的搜索:SQL语句。再如windows的搜索:文件名,类型,修改时间。对非结构化数据的搜索:如windows对文件内容的搜索。Linux下得grep命令。再如Google和百度可以搜素大量内容数据。对于非

2、结构化的数据搜索也叫做对全文数据的搜索。三、对全文数据的搜索还可以分为两种1、顺序扫描:如要找内容包含某个字符串的文件,会一个文档一个文档的从头到尾的找,如Like查找。2、索引扫描:把非结构化的数据中的内容提取出来一部分重新组织,让它变的有结构化,这部分我们提取出来的数据就叫做索引模拟词典Linux是什么,Linux是一个开源的操作系统。。1页Apache是什么?Apache是一个开源的Web服务器。2页MySQL是什么?MySQL是一个开源的数据库。。3页PHP是什么?PHP是一个开源的脚本语言。。4页Linux1页PHP4页MySQL3页Apache2页全文检索大体分两个过程:索引创

3、建(Indexing)和搜索索引(Search)。索引创建:将现实世界中所有的结构化和非结构化数据提取信息,创建索引的过程。搜索索引:就是得到用户的查询请求,搜索创建的索引,然后返回结果的过程。三个重要问题索引里面究竟存些什么?(Index)如何创建索引?(Indexing)如何对索引进行搜索?(Search)一、索引里面究竟存些什么?为什么顺序扫描的速度慢?非结构化数据中所存储的信息是每个文件包含哪些字符串,已知文件,欲求字符串,从文件到字符串的映射。而我们想搜索的信息是哪些字符串都在哪个文件中有,已知字符串,欲求文件,从字符串到文件的映射。如果有个东西总能够保存从字符串到文件的映射?大

4、大提高搜索速度。总能保存这种关系的东西就是索引。索引所保存的信息一般如下:假设我现在有100篇文档,从1到100表示。SphinxPHPLinux2566172345233287654478词典倒排表二、如何创建索引?全文检索的索引创建过程一般有以下几步:一些需要创建索引的文档(Documents)。将原文档传给分词组件(Tokenizer)。将得到的词元(Token)传给语言处理组件(LinguisticProcessor)。将得到的词(Term)传给索引组件(Indexer)。第一步:一些创建索引的文档。文档1:Studentsshouldbeallowedtogooutwiththe

5、irfriends,butnotallowedtodrinkbeer.文档2:MyfriendJerrywenttoschooltoseehisstudentsbutfoundthemdrunkwhichisnotallowed.第二步:将原文档传给分词组件(Tokenizer)。分词组件(Tokenizer)会做以下几件事情(此过程称为Tokenize):1.将文档分成一个一个单独的单词。2.去除标点符号。3.去除停词(Stopword)。所谓停词(Stopword)就是一种语言中最普通的一些单词:英语中的停词(Stopword)如:“the”,“a”,“this”等。中文中的停词如:‘

6、是’‘的’‘这个’等。对于每一种语言的分词组件(Tokenizer),都有一个停词(stopword)集合。经过分词(Tokenizer)后得到的结果称为词元(Token)。在我们的例子中,便得到以下词元(Token):Students、allowed、go、their、friends、allowed、drink、beer、My、friend、Jerry、went、school、see、his、students、found、them、drunk、allowed。第三步:将得到的词元(Token)传给语言处理组件(LinguisticProcessor)。语言处理组件主要是对得到的词元做一些

7、同语言相关的处理:对于英语,语言处理组件一般做以下几点:变为小写(Lowercase)。2.将单词缩减为词根形式,如“cars”到“car”等。3.将单词转变为词根形式,如“drove”到“drive”等。语言处理组件的结果称为词(Term)。在我们的例子中,经过语言处理,得到的词(Term)如下:Student、allow、go、their、friend、allow、drink、beer、my、friend、jerry

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

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

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