3
我使用Elasticsearch Java API(版本2.1.1)和查詢字符串查詢。查詢字符串由用戶輸入,可能包含語法錯誤。現在好像查詢被髮送到服務器,響應是shardFailure並引發異常。Elasticsearch Java API:查詢字符串驗證
在將API發送到服務器之前,有一種簡單的方法可以驗證API中的查詢嗎?現在我正在捕捉異常,但是用這些查詢來困擾服務器並不合適。
查詢是建立這樣的:
QueryBuilders.queryStringQuery("error)");
實施例響應:
QueryParsingException [解析失敗查詢[錯誤)]];嵌套: NotSerializableExceptionWrapper [無法解析「錯誤)」:遇到「 ‘)’」)‘’第1行,第5列
編輯: 要明確: 這是查詢完全確定包含括號或引號之類的特殊字符。我只想檢查用戶是否輸入了正確的搜索查詢(例如成對的所有括號/引號)。
這不是我想要的。像括號這樣的特殊字符是允許的,但它們必須成對才能在語法上正確。 – moeTi
你是什麼意思的成對? PLease指定 – Richa
如果您有兩個開頭的括號,那麼您還需要兩個關閉的括號,否則這是一個語法錯誤。 – moeTi