lucene 丟擲的異常(分享)

2022-04-29 00:00:13 字數 1073 閱讀 7853

1) too many boolean clauses異常

例如:string keyword=".......";//(keyword的長度太長)

query indexquery = new queryparser("name",analyzer).parse(keyword);

有沒有人遇到過 上面的查詢當 keyword很長時報錯的問題? too many boolean clauses

queryparser會將keyword切分為多個termquery組成的booleanquery.

所以當keyword被切成過於1024個時,就會出現剛剛那個異常。

檢視原因是:

booleanquery.setmaxclausecount()

預設是1024

所以可以設定booleanquery.setmaxclausecount(比較大的數);這樣就可以解決。

2)increment must be zero or greater: -2147483648

org.apache.lucene.queryparser.parseexception

異常出現的位置應該是

// 設定位移增量的,相對於tokenstream中該token的前乙個,只能設定為1或0

//預設為1,如果為0,則表示多個term都具有同乙個位置。

public void setpositionincrement(int positionincrement)

3.異常org.apache.lucene.queryparser.parseexception: cannot parse '': encountered "" at line 1, column 0.

was expecting one of:

..."+" ...

"-" ...

"(" ...

"*" ...

......

......

"[" ...

"{" ...

......

"*" ...

檢查查詢語句是否有lucene保留的關鍵字或者語料庫中當前被分析的文字是空文字

python 丟擲 python丟擲異常的方法

python丟擲異常的方法 閱讀 89 異常是python物件,表示乙個錯誤。當python指令碼發生異常時我們需要捕獲處理它,否則程式會終止執行。常見異常 attributeerror 呼叫不存在的方法引發的異常 eoferror 遇到檔案末尾引發的異常 importerror 匯入模組出錯引發的...

python的異常丟擲

例子 編寫乙個不能處0的案例 s1 int input 請輸入乙個數字 try result 9 s1 except print 不能為0 結果 請輸入乙個數字 0 不能為0 process finished with exit code 0例子 try s1 int input 請輸入乙個數字 r...

java throw丟擲異常

1 throws關鍵字通常被應用在宣告方法時,用來指定可能丟擲的異常。多個異常可以使用逗號隔開。當在主函式中呼叫該方法時,如果發生異常,就會將異常拋給指定異常物件。如下面例子所示 public class shoot public static void main string args catch...