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

2021-08-16 00:27:22 字數 2063 閱讀 6469

/**

* 自定義評分流程:

* 1.建立乙個評分域

* 2.根據原有query(termquery)和評分域query(scorequery)建立自定義的mycustomscorequery物件

* 2.1建立自定義的mycustomscorequery物件

* 2.2過載「getcustomscoreprovider()」方法

* 3.自定義評分步驟:

* 3.1自定義類繼承自customscoreprovider

* 3.2過載customscore()方法

*/public class

myscorequery catch (ioexception e) finally catch (ioexception e) }}

}/**

* 2.1建立自定義類繼承自「customscorequery」

*/private class

mycustomscorequery

extends

customscorequery

/*** 2.2過載「getcustomscoreprovider()」方法

* 其中,super.getcustomscoreprovider(reader)是預設評分規則,即:

* 原有評分*傳進來的評分域

* 為根據不同的需求進行評分,需要自己進行評分的設定,即自定義類繼承customscoreprovider

*/@override

protected

customscoreprovider getcustomscoreprovider(indexreader reader) throws

ioexception

}/**

* 3.自定義評分步驟:

* 3.1自定義類繼承自customscoreprovider

* 3.2過載customscore()方法

*//**

* 3.1自定義類繼承自customscoreprovider

*/private class

mycustomscoreprovider

extends

customscoreprovider

過載customscore()方法

/*** 若只傳入乙個評分域,則需要過載customscore(int doc, float subqueryscore, float valsrcscore)方法

* 若傳入多個評分域,則需要過載customscore(int doc, float subqueryscore, float valsrcscore)方法

* 引數subqueryscore:預設文件評分

* 引數valsrcscore: 傳入評分域評分

*/@override

public float

customscore(int doc, float subqueryscore, float valsrcscore) throws

ioexception

}/**

* 練習:對原有搜尋出來的排序結果再進行優化,「.txt」和「.ini檔案在前」,其他按照原有的排序

*/private class

filenamecustomscoreprovider

extends

customscoreprovider catch (ioexception e)

}@override

public float

customscore(int doc, float subqueryscore, float valsrcscore) throws

ioexception

return subqueryscore*valsrcscore;}}

public void

searchbyquery(indexsearcher indexsearcher, query termquery) throws

ioexception }}

}

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

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

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

field string name,string value,field.store store,field.index index 方法解析 引數一 key 引數二 value 引數三 是否儲存到硬碟 儲存域選項 1.field.store.yes 表示把這個域中的內容完全儲存到檔案中,方便進行文...

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

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