2009-03-02 4 views
4

私のアプリケーションでは、ユーザー入力の文字列を受け取り、それをLuceneクエリーパーサーと解析しようとします。私は、しかし、このクエリパーサーでエラーを引き起こす文字列のいくつかの形式があることに気づいた。
例:Luceneクエリーパーサーエラーの処理

  • 〜anystring
  • anystring +

まず、私はそれがこれらのケースを含めることができませんでしたように、私のユーザー入力された文字列を成形しようとしたが、私はそれを見るように、より多くのがあるかもしれません私は今は予見しません。

クエリパーサーの例外をどのように処理しますか?どのようにそれらを防ぐのですか?

答えて

2

残りの解析例外をキャッチし、エラーメッセージを表示します(「あなたの検索はどのドキュメントとも一致しませんでした。示唆:異なるキーワードを試してください」)。

も参照してください。How to make the Lucene QueryParser more forgiving?

+0

はい、これは最も明白な方法です。しかし、私は、いくつかの一般的なケースは、クエリパーサ自体によって解決されると思うでしょう。しかし、おそらくそれは本当に再配置可能であってはなりません。 –

関連する問題