索引和搜索流程

Elasticsearch全文搜索引是在全文索引框架Apache Lucene基础上构建的。它能够用于全文搜索、结构化搜索以及分析。全文索引包括两个部分:索引建立(index)和搜索索引(search)。全文索引整体过程大体以下:框架

索引过程
- 1)一些待索引的文件;
- 2)被索引文件通过语法分析和语言处理造成一系列词(Term);
- 3)通过索引建立造成词典和方向索引表;
4)经过索引存储将索引写入索引文件。blog
搜索过程
- a)用于输入查询语句;
- b)对查询语句通过语法分析和语言分析获得一系列词(Term);
- c)经过语法分析获得一个查询树;
- d)经过索引存储将索引读入内存;
- e)利用查询树搜索索引,从而获得每一个词(Term)的文档链表,对文档链表进行交叉,并获得结果文档;
- f)将搜索获得的结果文档对查询的相关性进行排序;
g)返回查询结果给用户。排序