先整體上看一下Lucene的架構設計圖(見下圖),先看上層應用,首先是資訊采集的過程,檔案系統、資料庫、網際網路以及手工輸入的檔案都可以作為資訊采集的對象,也是要搜尋的文檔的來源,采集網際網路上的資訊一般使用網絡爬蟲。完成資訊采集之後到Lucene層面有兩大任務:索引文檔和搜尋文檔,索引文檔的過程完成由原始文檔到反向索引的建構過程,搜尋文檔用以處理使用者查詢。應用層的第三部分就是使用者接口,使用者輸入查詢關鍵字,Lucen完成文檔搜尋任務,經過分詞、比對、評分、排序等一系列過程之後傳回使用者想要的文檔。

一次完整的搜尋從使用者輸入要查詢的關鍵詞開始到系統根據使用者輸入的關鍵字傳回相關資訊。一次檢索大緻可分為4步:
第一步:查詢分析
正常情況下使用者輸入正确的查詢,例如輸入“python”這個關鍵詞,使用者輸入正确完成一次搜尋,但是搜尋需求通常都是全開放的,任何的使用者需求都是有可能的,很大一部分還是非常口語化和個性化的,有時候還會存在拼寫錯誤,假如不小心把”python“達成“pythno”,這個時候就需要用自然語言處理技術來做拼寫糾錯等處理,以正确了解使用者需求。
第二步:分詞技術
這一步利用自然語言處理技術将使用者輸入的查詢語句進行分詞,如标準分詞會把“lucene,全文檢索架構”分成lucene|全|文|檢|索|框|架,空格分詞會分成:lucene,|全文檢索架構|,二分法會變成:lucene|全文|文檢|檢索|索框|架構|,還有簡單分詞等多種分詞方法。
第三步:關鍵字檢索
送出關鍵詞後在反向索引庫中進行比對,反向索引就是關鍵詞和文檔之間等對應關系,就像給文檔貼上标簽。比如文檔集中含有lucene關鍵詞的有文檔1,文檔6,文檔9,含有全文檢索的有文檔1、文檔6,那麼做與運算,同時含有lucene和全文檢索的文檔的就是1和6,在實際的搜尋中會有更複雜的文檔比對模型。