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...