lucene常用搜尋例子

2022-02-23 05:07:51 字數 2724 閱讀 6600

public

class

test   

// 按詞條搜尋

public

void

termsearcher()

throws

ioexception   

// 短語搜尋

public

void

phrasesearcher()

throws

ioexception   

// 萬用字元搜尋 wildcardquery   

// 萬用字元包括』?』匹配乙個任意字元和』*』匹配零個或多個任意字元,例如你搜尋』use*』,你可能找到』user』或者』uses』:   

public

void

wildcardsearcher()

throws

ioexception   

// 模糊搜尋 fuzzyquery

public

void

fuzzysearcher()

throws

ioexception   

// 使用字首prefixquery

public

void

prefixsearcher()

throws

ioexception   

// 範圍搜尋 rangequery

public

void

rangesearcher()

throws

ioexception   

// 與或搜尋booleanquery

//booleanclause用於表示布林查詢子句關係的類,包括:booleanclause.occur.must,booleanclause.occur.must_not,booleanclause.occur.should。有以下6種組合:

//1.must和must:取得連個查詢子句的交集。

//2.must和must_not:表示查詢結果中不能包含must_not所對應得查詢子句的檢索結果。

//3.must_not和must_not:無意義,檢索無結果。

//4.should與must、should與must_not:should與must連用時,無意義,結果為must子句的檢索結果。與must_not連用時,功能同must。

//5.should與should:表示「或」關係,最終檢索結果為所有檢索子句的並集。

public

void

booleansearcher()

throws

ioexception, parseexception   

// 多關鍵的搜尋 phraseprefixquery

public

void

phraseprefixsearcher()

throws

ioexception);   

// 只有一項必須匹配

query.add(

newterm(

"content"

,"help"

));   

// if you would like to help promote openoffice

// can i help you

// slop因子的作用域為查詢中的所有短語

query.setslop(

1);   

// 匹配第一項為 would 或 can 第二項為help

// solp設定為1

// if you would like to help promote openoffice   除去if to 外,would與help的距離=1

// can i help you 的距離也=1   所以可以搜尋出兩條資料

hits hits = search.search(query);   

printresult(hits);   

search.close();   

}   

// 在多個域上查詢 multifieldqueryparser

public

void

multifieldsearcher()

throws

ioexception, parseexception,new string, analyzer);

// titile必須匹配bb,content不能匹配

query query = multifieldqueryparser.parse(

newstring,

newstring,

newbooleanclause.occur, analyzer);   

// title中必須包含bb   content不能有bb

// query query = multifieldqueryparser.parse( "bb*",new string,new booleanclause.occur, analyzer);

hits hits = search.search(query);   

printresult(hits);   

search.close();   

}   

public

void

printresult(hits hits)

throws

ioexception   

}   

}

搜尋引擎 lucene 例子

最近專案中要用到全文搜尋,所以在網上搜了下,找到了lucene 學習下 lucene是乙個很容易上手的搜尋引擎框架,傳統的搜尋引擎,涉及到爬蟲,也就是爬取網頁,然後對網頁進行加工,也就是索引,最後用於搜尋,lucene這個框架可以很方便的幫你做到後面兩個步驟,也就是索引和搜尋!本文嘗試通過乙個例子,...

lucene常用搜尋排序摘錄

一,查詢 乙個關鍵字,對乙個字段進行查詢 queryparser qp new queryparser content analyzer query qp.parse keyword hits hits searcher.search query 模糊查詢 term term new term co...

乙個lucene搜尋高亮顯示的例子。

above,create documents with two fields,one with term vectors tv and one without notv indexsearcher searcher new indexsearcher directory queryparser pa...