- 1、本文档共9页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
EOS索引查找调用过程.doc
简介
EOS6比EOS5的一大改进是对所有的开发资源建立的索引。当然这是磊磊同学的功劳了,这里借用他的成果凑个数。 Studio中的引用有哪些信誉好的足球投注网站、资源查找、重构都需要用到索引的功能。可以说为Studio的基础又打下了一个坚实的地基石。Lucene 是一个基于 Java 的全文信息检索工具包,它不是一个完整的有哪些信誉好的足球投注网站应用程序,而是为你的应用程序提供索引和有哪些信誉好的足球投注网站功能。Lucene 目前是 Apache Jakarta 家族中的一个开源项目。也是目前最为流行的基于 Java 开源全文检索工具包 。目前国内外已有很多基于Lucene的应用。相对其它开源的全文有哪些信誉好的足球投注网站(Egothor,Xapian,MG4J)来说,Lucene已经是非常成熟的工具包。Studio可以嵌入Lucene来支持索引的建立和查找。
概念
下面对Lucene的几个重要会使用到几个重要概念作如下介绍:
Query?:Query其实也就是指对于需要查询的字段采用什么样的方式进行查询,如模糊查询、语义查询、短语查询、范围查询、组合查询等。
Document:是用来描述文档的,这里的文档可以指一个 HTML 页面,一封电子邮件,或者是一个文本文件。一个 Document 对象由多个 Field 对象组成的。可以把一个 Document 对象想象成数据库中的一个记录,而每个 Field 对象就是记录的一个字段。
Field: 对象是用来描述一个文档的某个属性的,比如一封电子邮件的标题和内容可以用两个 Field 对象分别描述。
Analyzer:在一个文档被索引之前,首先需要对文档内容进行分词处理,这部分工作就是由 Analyzer 来做的。Analyzer 类是一个抽象类,它有多个实现。针对不同的语言和应用需要选择适合的 Analyzer。Analyzer 把分词后的内容交给 IndexWriter 来建立索引。
IndexWriter: 是 Lucene 用来创建索引的一个核心的类,他的作用是把一个个的 Document 对象加到索引中来。
Directory:这个类代表了 Lucene 的索引的存储的位置,这是一个抽象类,它目前有两个实现,第一个是 FSDirectory,它表示一个存储在文件系统中的索引的位置。第二个是 RAMDirectory,它表示一个存储在内存当中的索引的位置。
Hits: 通过IndexSearcher以及Query即可查询出需要的结果以Hits方式返回。
Query:这是一个抽象类,他有多个实现,比如TermQuery, BooleanQuery, PrefixQuery. 这个类的目的是把用户输入的查询字符串封装成Lucene能够识别的Query。
QueryParser: QueryParser可用于创建不同的Query。
Term:是有哪些信誉好的足球投注网站的基本单位,一个Term对象有两个String类型的域组成。生成一个Term对象可以有如下一条语句来完成:Term term = new Term(“fieldName”,”queryWord”); 其中第一个参数代表了要在文档的哪一个Field上进行查找,第二个参数代表了要查询的关键词。
TermQuery:是抽象类Query的一个子类,它同时也是Lucene支持的最为基本的一个查询类。生成一个TermQuery对象由如下语句完成: TermQuery termQuery = new TermQuery(new Term(“fieldName”,”queryWord”)); 它的构造函数只接受一个参数,那就是一个Term对象。
IndexSearcher:是用来在建立好的索引上进行有哪些信誉好的足球投注网站的。它只能以只读的方式打开一个索引,所以可以有多个IndexSearcher的实例在一个索引上进行操作。
索引文件结构
索引文件由若干个Document组成。Document为一个最小的索引单元, Document又有若干属性作为Field对象存储。如下图所示。
对所有查找结果以Hits对象返回,Hits类似于查找的结果集。从Hits对象中可以遍历出符合查找条件的Document对象。
如果拿Lucene中的概念和数据库做一个类比,Hits类似于数据库查询返回的结果集,Document就类似于结果集中的一条记录(Recorder),Field类似于数据库中的一个字段属性。如下表所示:
Lucene数据库索引数据源:doc(field1,field2...) doc(field1,field2...) \ indexer / _____________ | Lucene Index| -------------- / searcher \ 结果输出:Hits(doc(
文档评论(0)