Lucene 學習總結之七 索引流程

2021-08-25 02:39:56 字數 613 閱讀 2023

1 indexreader開啟索引檔案,讀取並開啟指向索引檔案的流。

1.1.1、找到最新的segment_n檔案

1.1.2、通過segment_n檔案中儲存的各個段的資訊開啟各個段

1.1.3、得到的indexreader物件如下

2 將查詢語句轉換為查詢物件query物件樹

2.1、建立weight物件樹,計算term weight

2.2、重寫query物件樹

2.3、建立weight物件樹

2.4、計算term weight分數

2.5 建立scorer及sumscorer物件樹

3、進行倒排表合併

3.1、交集conjunctionscorer(+a +b)

3.2、並集disjunctionsumscorer(a or b)

3.4、reqoptsumscorer(+a b)

4、收集文件結果集合及計算打分

4.1、建立結果文件收集器

4.2、收集文件號

4.3、打分計算

4.4、返回打分最高的n篇文件

5、lucene如何在搜尋階段讀取索引資訊

5.1、讀取詞典資訊

5.2、讀取倒排表資訊

Lucene學習總結之七 Lucene搜尋過程解析

本系列文章將詳細描述幾乎最新版本的lucene的基本原理和 分析。其中總體架構和索引檔案格式是lucene 2.9的,索引過程分析是lucene 3.0的。鑑於索引檔案格式沒有太大變化,因而原文沒有更新,原理和架構的文章中引用了前輩的一些圖,可能屬於早期的lucene,但不影響對原理和架構的理解。本...

Lucene之建立索引

lucene用來建搜尋引擎要解決四個問題 抓取資料 解析資料 建立索引和執行搜尋。首先為每一篇文章新增標題 內容 寫作時間等資訊,從而寫好每一篇文章,然後將每一篇文章新增到書裡面去。這樣問及就寫好了。建立索引的過程如下 建立索引器indexwriter,這相當於一本書的框架。建立文件物件docmen...

lucene學習總結

一,建立索引 1,建立indexwriter directory fsdirectory。open file analyzer new standardanalyzer version indexwriter new indexwriter directory,analyzer,boolean,bo...