3 學習Lucene3 5之索引建立 域選項

2021-08-15 10:53:16 字數 1358 閱讀 8245

/**

* field(string name, string value, field.store store, field.index index)方法解析:

* 引數一:key

* 引數二:value

* 引數三:是否儲存到硬碟(儲存域選項)

* 1.field.store.yes:表示把這個域中的內容完全儲存到檔案中,方便進行文字的還原

* 2.field.store.no:表示把這個域中的內容不儲存到檔案中,但是可以被索引。此時內容無法進行完全

* 還原(無法通過document.get()獲取)

* 一般來說,我們是對id進行索引,然後通過id進資料庫中進行搜尋,找到對應的url,來獲取文章內容,

* 所以一般對id索引並儲存,文章的內容進行索引,但不儲存

* 引數四:索引型別(索引域選項)

* 1.field.index.analyzed:進行分詞和索引,適用於標題、內容等

* 2.field.index.not_analyzed:進行索引,但不進行分詞,如果身份證號、姓名、id等,適用於精確搜尋

* 3.field.index.analyzed_not_norms:進行分詞但是不儲存norms資訊,這個norms中包括了建立索引的時間和權值等資訊

* 4.field.index.not_analyzed_not_norms:既不進行分詞也不儲存norms資訊

* 5.field.index.no:不進行索引

** 儲存域和索引域最佳實踐:

* 索引域 儲存域 案例

* not_analyzed_not_norms yes 識別符號(主鍵、檔名),**號碼,身份證號,姓名,日期

* analyzed yes 文件標題和摘要

* analyzed no 文件正文

* no yes 文件型別,資料庫主鍵(不進行分詞)

* not_analyzed no 隱藏關鍵字

*/document.add(new

field("filename", tempfile.getname(), field.store.yes, field.index.not_analyzed));//將檔名新增到索引域中

4 學習Lucene3 5之索引刪除 更新

1 刪除索引 刪除索引 public void deleteindex catch ioexception e finally 2 恢復刪除索引 恢復刪除的索引 從 站 中恢復 public void restoreindex catch ioexception e finally catch io...

9 學習Lucene3 5索引搜尋之其他搜尋

1 lucene3.5索引搜尋之字首搜尋 lucene搜尋之prefixquery 字首搜尋 public void searchbyprefixquery string field,string value 2 lucene3.5索引搜尋之萬用字元搜尋 lucene搜尋之prefixquery 萬...

18 學習Lucene3 5索引之自定義評分

自定義評分流程 1.建立乙個評分域 2.根據原有query termquery 和評分域query scorequery 建立自定義的mycustomscorequery物件 2.1建立自定義的mycustomscorequery物件 2.2過載 getcustomscoreprovider 方法 ...