lucene的搜尋相當強大,它提供了很多輔助查詢類,各自完成一種特殊的查詢,也可以相互組合使用,來完成一些複雜的操作.
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(new term("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( new string,new string,new booleanclause.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的搜尋相當強大,它提供了很多輔助查詢類,各自完成一種特殊的查詢,也可以相互組合使用,來完成一些複雜的操作.public class test 按詞條搜尋 public void termsearcher throws ioexception 短語搜尋 public void phrase...
Lucene實現多種高階搜尋形式
布林操作符 大多數的搜尋引擎都會提供布林操作符讓使用者可以組合查詢,典型的布林操作符有 and,or,not。lucene 支援 5種布林操作符,分別是 and,or,not,加 減 接下來我會講述每個操作符的用法。or 如果你要搜尋含有字元 a 或者 b 的文件,那麼就需要使用 or操作符。需要記...
LUCENE搜尋 雞蛋
query 這是乙個抽象類,他有多個實現,比如 termquery,booleanquery,prefixquery.這個類的目的是把使用者輸入的查詢字串封裝成 lucene 能夠識別的 query。term termquery termquery 是抽象類 query 的乙個子類,它同時也是 lu...