索引和搜索流程

Elasticsearch全文搜索引是在全文索引框架Apache Lucene基礎上構建的。它能夠用於全文搜索、結構化搜索以及分析。全文索引包括兩個部分:索引建立(index)和搜索索引(search)。全文索引整體過程大體以下:框架

索引過程
- 1)一些待索引的文件;
- 2)被索引文件通過語法分析和語言處理造成一系列詞(Term);
- 3)通過索引建立造成詞典和方向索引表;
4)經過索引存儲將索引寫入索引文件。blog
搜索過程
- a)用於輸入查詢語句;
- b)對查詢語句通過語法分析和語言分析獲得一系列詞(Term);
- c)經過語法分析獲得一個查詢樹;
- d)經過索引存儲將索引讀入內存;
- e)利用查詢樹搜索索引,從而獲得每一個詞(Term)的文檔鏈表,對文檔鏈表進行交叉,並獲得結果文檔;
- f)將搜索獲得的結果文檔對查詢的相關性進行排序;
g)返回查詢結果給用戶。排序