簡體   English   中英

多個搜索字段

[英]multiple search fields

如果我的搜索字段為20個或更多,並且任何組合都應該有效,那將是最好的方法。 有什么特殊的方法可以在openJPA或本機SQL中做得更好。 任何想法都會有所幫助。

您可以在存儲過程或參數化的SQL語句中嘗試類似的操作。 這樣,即使只有少數幾個具有值,您也可以傳遞所有字段。

@param1 varchar(25),
@param2 int,
@param3 varchar(10),
@param4 char(1)

SELECT column1, column2, column3, column4
FROM TABLE
WHERE (column1 = @param1 OR @param1 IS NULL)
AND (column2 = @param2 OR @param2 IS NULL)
AND (column3 = @param3 OR @param3 IS NULL)
AND (column4 = @param4 OR @param4 IS NULL)

我認為您可能想要使用“休眠搜索”之類的功能,它將全文搜索引擎的功能引入數據庫模型。 因此,您可以提供類似於Google的搜索功能,以進行客戶想要執行的搜索的任何組合。

我開發了一個帶有GUI的演示應用程序,以測試各種查詢類型。

檢出-http: //code.google.com/p/hb-search-demo/

我相信使用標准api是最好的方法。

請閱讀該鏈接並檢查您自己的鏈接:

http://openjpa.apache.org/builds/2.0.0-beta3/apache-openjpa-2.0.0-beta3/docs/manual/jpa_overview_criteria.html

我不喜歡通過SQL運行全文搜索。 對於喜歡使用Solr等搜索引擎的東西。

http://lucene.apache.org/solr/

其功能概述:

http://lucene.apache.org/solr/features.html

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM