关于lucene的问题

来源:百度知道 编辑:UC知道 时间:2024/05/26 02:26:05
1、什么是lucene的分析器analyzer?
2、简单描述使用Lucene从文档中检索关键字时,要实现哪些基本步骤,并加以描述?查询信息的两种主要方法是什么?,顺序查找和索引各自的优缺点和适应场合?
3、说明Lucene中Document和Field的含义以及与物理文件间的关系,根据索引文件的逻辑视图,请分析Docunent,Field和Segment间的逻辑关系

三个作业题目,麻烦帮忙找找答案。先放上50分,如果答案详细再加30分,说到做到。

1,analyzer是lucene的分析器,用于将文档经过解析编入索引文件。你可以通过继承接口扩展analyzer,解析你特定格式的文档。
2,先将文档建索引----关键词---分词----查找搜引----得到索引结果----展示。
两种方法是顺序查找和索引查找。
顺序查找是实现简单,精度稍微高,但是对于大量文件,检索速度超级慢。索引和它相反。
3,基本情况是:一个document分成几个segment,然后每个field可以对应几个segment,就像是映射。
其余的你自己补充补充吧。

1.Lucene 是Apache的一个基于Java的开放源代码的搜索软件包,也是目前最为流行的搜索软件包。但是对于绝大多数中文用户来说其提供的两个中文分析器 (ChineseAnalyzer和CJKAnalyzer)的能力又太弱了,因此我们有必要开发适合自己的中文分析器。这篇文章中给出了一个基于词典的 简单的实现。
实现这个中文分析器的过程就像是一场精彩的赛事。好了,让我们马上开始。

冗长的代码常常是复杂性的标志,会导致代码难以测试和维护。

这是我在近期的文章中随便找来的一句话,将用它来阐明我们将要做什么和做到什么程度。

既然是比赛嘛就不能没有对手!我们的两个对手分别是ChineseAnalyzer和CJKAnalyzer。兵法云:知己知彼,百战不殆。那就让我们一起来了解一下我们的这两位对手。

ChineseAnalyzer 和CJKAnalyzer都源于Apache,但它们不是Lucene的核心组件而是Sandbox组件。它们都继承自Analyzer,这是 Lucene的核心组件之一,负责完成分词任务。我们将要完成的基于词典的分析器MMChineseAnalyzer也继承了Analyzer,这是实现 Lucene分析器所必须的。

了解了我们对手的名门血统之后,该看看他们可以做什么了。为了更好的进行描述,我们规定:如果没有特别的指出,那么Ci将表示一个字符。这样一个句子就可以表示成Ci的序列,即C1C2...Ci...Cn。

ChineseAnalyzer