索引和搜索流程
索引和搜索流程
Elasticsearch全文搜索引是在全文索引框架Apache Lucene基础上构建的。它可以用于全文搜索、结构化搜索以及分析。全文索引包括两个部分:索引创建(index)和搜索索引(search)。全文索引总体过程大致如下:
索引过程
- 1)一些待索引的文件;
- 2)被索引文件经过语法分析和语言处理形成一系列词(Term);
- 3)经过索引创建形成词典和方向索引表;
- 4)通过索引存储将索引写入索引文件。
搜索过程
- a)用于输入查询语句;
- b)对查询语句经过语法分析和语言分析得到一系列词(Term);
- c)通过语法分析得到一个查询树;
- d)通过索引存储将索引读入内存;
- e)利用查询树搜索索引,从而得到每个词(Term)的文档链表,对文档链表进行交叉,并得到结果文档;
- f)将搜索得到的结果文档对查询的相关性进行排序;
- g)返回查询结果给用户。