没有合适的资源?快使用搜索试试~ 我知道了~
Lucene.net是Lucene的.net移植版本,是一个开源的全文检索引擎开发包,即它不是一个完整的全文检索引擎,而是一个全文检索引擎的架构,提供了完整的查询引擎和索引引擎。开发人员可以基于Lucene.net实现全文检索的功能。
资源详情
资源评论
资源推荐
、
详细使用与优化详解
简介
什么是
是一个全文搜索框架,而不是应用产品。因此它并不像
或者 那么拿来就能用,它只是提供了一种
工具让你能实现这些产品。
能做什么
要回答这个问题,先要了解 的本质。实际上 的功能很单一,说
到底,就是你给它若干个字符串,然后它为你提供一个全文搜索服务,告诉 你
你要搜索的关键词出现在哪里。知道了这个本质,你就可以发挥想象做任何符
合这个条件的事情了。你可以把站内新闻都索引了,做个资料库;你可以把一
个数据 库表的若干个字段索引起来,那就不用再担心因为“而锁表了;
你也可以写个自己的搜索引擎……
你该不该选择
下面给出一些测试数据,如果你觉得可以接受,那么可以选择。
测试一: 万记录, 左右文本,生成索引 ! 左右,! 线程下平
均处理时间 。
测试二:" 记录,索引数据库中的两个 #$%$ 字段,索引文件
& ,! 线程下平均处理时间 。
的工作方式
提供的服务实际包含两部分:一入一出。所谓入是写入,即将你提供的
源(本质是字符串)写入索引或者将其从索引中删除;所谓出是读出,即向用
户提供全文搜索服务,让用户可以通过关键词定位源。
写入流程
源字符串首先经过 '($ 处理,包括:分词,分成一个个单词;去除
$(可选)。
将源中需要的信息加入 的各个 ) 中,并把需要索引的 ) 索
引起来,把需要存储的 ) 存储起来。
将索引写入存储器,存储器可以是内存或磁盘。
读出流程
用户提供搜索关键词,经过 '($ 处理。
对处理后的关键词搜索索引找出对应的 。
用户根据需要从找到的 中提取需要的 )。
一些需要知道的概念
用到一些概念,了解它们的含义,有利于下面的讲解。
'($
*'($ 是分析器,它的作用是把一个字符串按某种规则划分成一个个词语,
并去除其中的无效词语,这里说的无效词语是指英文中的 “+、 “%,中文
中的“的”、“地”等词语,这些词语在文章中大量出现,但是本身不包含什么关键
信息,去掉有利于缩小索引文件、提高效率、提高命中率。
分词的规则千变万化,但目的只有一个:按语义划分。这点在英文中比较容易
实现,因为英文本身就是以单词为单位的,已经用空格分开;而中文则必须以
某种方法将连成一片的句子划分成一个个词语。具体划分方法下面再详细介绍,
这里只需了解分析器的概念即可。
用户提供的源是一条条记录,它们可以是文本文件、字符串或者数据库表的一
条记录等等。一条记录经过索引之后,就是以一个 的形式存储在索
引文件中的。用户进行搜索,也是以 列表的形式返回。
,
一个 可以包含多个信息域,例如一篇文章可以包含“标题”、“正文”、
“最后修改时间”等信息域,这些信息域就是通过 ) 在 中存储的。
) 有两个属性可选:存储和索引。通过存储属性你可以控制是否对这个
) 进行存储;通过索引属性你可以控制是否对该 ) 进行索引。这看起来
似乎有些废话,事实上对这两个属性的正确组合很重要,下面举例说明:
还是以刚才的文章为例子,我们需要对标题和正文进行全文搜索,所以我们要
把索引属性设置为真,同时我们希望能直接从搜索结果中提取文章标题,所以
我们把标 题域的存储属性设置为真,但是由于正文域太大了,我们为了缩小索
引文件大小,将正文域的存储属性设置为假,当需要时再直接读取文件;我们
只是希望能从搜索 解果中提取最后修改时间,不需要对它进行搜索,所以我们
把最后修改时间域的存储属性设置为真,索引属性设置为假。上面的三个域涵
盖了两个属性的三种组合, 还有一种全为假的没有用到,事实上 ) 不允许
你那么设置,因为既不存储又不索引的域是没有意义的。
-$
$ 是搜索的最小单位,它表示文档的一个词语,$ 由两部分组成:它表
示的词语和这个词语所出现的 ,。
是 $ 的一次出现,它包含 $ 文本和相应的起止偏移,以及一个
类型字符串。一句话中可以出现多次相同的词语,它们都用同一个 $ 表示,
但是用不同的 ,每个 标记该词语出现的地方。
&
添加索引时并不是每个 都马上添加到同一个索引文件,它们首先被
写入到不同的小文件,然后再合并成一个大索引文件,这里每个小文件都是一
个 。
- 的结构
包括 $ 和 . 两部分,其中 $ 是 稳定的核心部分,
. 包含了一些附加功能,例如 %%%$、各种分析器。
$ 有七个包:
',,.,/$'0$$,$%,$,。
-'
*' 包含一些内建的分析器,例如按空白字符分词的
1%*'($,添加了 $ 过滤的 2*'($,最常用的
2$*'($。
-
包含文档的数据结构,例如 类定义了存储文档的数据
剩余20页未读,继续阅读
老葱头蒸鸡
- 粉丝: 308
- 资源: 11
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功
评论0