我們正在使用搜索模型開發Web應用程序。請求設計模式
在搜索servlet中,它從客戶端捕獲請求參數,然後構建一個用於搜索的hibernate搜索查詢。
現在的問題是來自clien的參數是可變的!
我們接受的所有參數如下:
1)關鍵字。
即使只傳遞此參數,也可以處理搜索請求使用的關鍵字。 有效例如:
/search?keyword="test"
2)lowleftX,lowleftY,upperrightX,upperrightY。
這四個參數必須同時發生或永遠不會發生。因爲這四個參數用於lucene中的TermRangeQuery。如果其中一個發生,其餘三個必須同時發生。 而且,這四個參數可以與「關鍵字」同時發生。 有效例如:
/search?lowleftX=10&lowleftY=10&upperrightX=40&upperrightY=30
/search?lowleftX=10&lowleftY=10&upperrightX=40&upperrightY=30&keyword="test"
3)類
這是用來限制搜索範圍(只是特殊類別中進行搜索)。
4)開始,限制
這兩個參數用於分頁。
5)returnFields
這將從索引中retivived(如果它在索引存儲在returnFields),並返回給客戶端。
所以我不知道如何使用估計語法(if .... else .... if ...)來構建查詢。
任何人都可以告訴我如何?