搜尋引擎 lucene 例子

2021-08-31 05:17:15 字數 2009 閱讀 3597

最近專案中要用到全文搜尋,所以在網上搜了下,找到了lucene ,學習下;

lucene是乙個很容易上手的搜尋引擎框架,傳統的搜尋引擎,涉及到爬蟲,也就是爬取網頁,然後對網頁進行加工,也就是索引,最後用於搜尋,lucene這個框架可以很方便的幫你做到後面兩個步驟,也就是索引和搜尋!本文嘗試通過乙個例子,使大家掌握lucene的使用核心方法,包括分詞、索引、搜尋不同的目錄、搜尋不同的域,希望大家通過這個例項,對lucene和搜尋引擎能有比較全面的認識!

1. package phz;

2. 3. import org.apache.lucene.analysis.standard.standardanalyzer;

4. import org.apache.lucene.document.document;

5. import org.apache.lucene.document.field;

6. import org.apache.lucene.index.indexwriter;

7. import org.apache.lucene.queryparser.multifieldqueryparser;

8. import org.apache.lucene.search.booleanclause;

9. import org.apache.lucene.search.hits;

10. import org.apache.lucene.search.indexsearcher;

11. import org.apache.lucene.search.multisearcher;

12. import org.apache.lucene.search.query;

13.

14. /**

15. * 這個例項包含了lucene所有核心用法

16. *

17. * @author panhuizi

18. *

19. */

20. public class lucenetest catch (exception e)

32. system.out.println("ok");

33. }

34.

35. public void index() throws exception

81.

82. public void search(string serchstring) throws exception ;

87. /* 我們需要搜尋兩個域"articletitle", "articletext"裡面的內容 */

88. string fields = ;

89. /* 下面這個表示要同時搜尋這兩個域,而且只要乙個域裡面有滿足我們搜尋的內容就行 */

90. booleanclause.occur clauses = ;

92. /*

93. * multifieldqueryparser表示多個域解析,

94. * 同時可以解析含空格的字串,如果我們搜尋"中國 金牌",根據前面的索引,顯然搜到的是第二份檔案

95. */

96. query query = multifieldqueryparser.parse(serchstring, fields, clauses,

97. new standardanalyzer());

98. /* multisearcher表示多目錄搜尋,在這裡我們只有乙個目錄 */

99. multisearcher searcher = new multisearcher(indexsearchers);

100. /* 開始搜尋 */

101. hits h = searcher.search(query);

102. /* 把搜尋出來的所有檔案列印出來 */

103. for (int i = 0; i < h.length(); i++)

109. /* 關閉 */

110. searcher.close();

111. }

112. }

搜尋引擎 lucene

lucene簡介 搜尋引擎的幾個概念 倒排 倒排索引 inverted index 也稱為反向索引,是搜尋引擎中最常見的資料結構,幾乎所有的搜尋引擎都會使用到倒排索引,它將文件中的詞作為關鍵字,建立詞與文件的對映關係,通過對倒排索引的檢索,可以根據詞快速獲取包含這個詞的文件列表,這對於搜尋引擎來說至...

搜尋引擎lucene入門程式示例

下面是我學習lucene3.4入門時按照lucene in action 第二版改寫的乙個例子。首先要匯入lucene core 3.4.0.jar包。package com.cn import org.apache.lucene.analysis.standard.standardanalyzer...

搜尋引擎 索引

正排索引 文件編號,單詞編號,單詞的數量,單詞出現的位置。倒排索引 1,單詞詞典,儲存單詞以及統計資訊,單詞在記錄表中的便宜,可常駐記憶體,用雜湊表儲存。2,記錄表,單詞對應的文件集合,記錄單詞出現的數目 位置。文件採用差分變長編碼。其中文件可按編號公升序排列 可利用差分編碼 也可按出現次數排列,可...