私たちは検索モデルを使ってWebアプリケーションを開発しています。デザインパターンをご依頼ください
検索サーブレットでは、クライアントから要求パラメータを取得し、検索用のハイバネート検索クエリを作成します。
ここで問題は、clienのパラメータが変更可能であることです。
すべてのパラメータは次のとおりです:
1)キーワード。
検索に使用するキーワードは、このパラメータが渡された場合でも検索リクエストを処理できます。 有効例:
/search?keyword="test"
2)lowleftX、lowleftY、upperrightX、upperrightY。
これらの4つのパラメータは同時に発生する必要があります。また、これらの4つのパラメタはluceneのTermRangeQueryに使用されています。これらの1つが発生した場合、残りの3つも発生する必要があります。 そして、これらの4つのパラメータは、「キーワード」と共に、sametimeで発生する可能性があります。 有効例:これは、検索範囲を制限するために使用される
/search?lowleftX=10&lowleftY=10&upperrightX=40&upperrightY=30
/search?lowleftX=10&lowleftY=10&upperrightX=40&upperrightY=30&keyword="test"
3)カテゴリ(だけ)特別なカテゴリ内の検索。
4)start、limit
この2つのパラメータは、ページングに使用されています。
5)は、インデックスからretivivedする
returnFieldsをreturnFields(それがインデックスに格納されている場合)、クライアントに返します。
したがって、推定構文(if .... else .... if ...)を使用してクエリを構築する方法についてはわかりません。
どのように教えていただけますか?