2009-03-02 1 views
4

내 응용 프로그램은 사용자 입력 문자열을 가져 와서 Lucene 쿼리 파서로 구문 분석하려고합니다. 그러나이 쿼리 구문 분석기에서 오류를 유발하는 여러 가지 형식의 문자열이 있다는 것을 알게되었습니다.
예 :Lucene 쿼리 구문 분석기 오류 처리

  • ~ anystring
  • anystring +

우선 시도 내 사용자가이 경우에 포함되지 수 있도록 문자열을 입력,하지만 난 그것을 볼로 더있을 수 성형 나는 지금 예견하지 않는다.

쿼리 파서 예외는 어떻게 처리합니까? 어떻게 그들을 막을 수 있니?

답변

2

나머지 구문 분석 예외를 catch하고 오류 메시지 ("귀하의 검색은 어떤 문서와도 일치하지 않습니다. 제안 : 다른 키워드를 사용해보십시오.")를 표시합니다.

도 참조하십시오. How to make the Lucene QueryParser more forgiving?

+0

음, 네, 이것이 가장 확실한 방법입니다. 하지만 몇 가지 일반적인 경우는 쿼리 파서 자체에서 해결할 것이라고 생각합니다. 하지만 어쩌면 그럴 수는 없습니다. –