solr多條件查詢(三)


1.昨天記了一下三條件的“並且” “並且”(  &&   &&  )的情況,今天再來記一下 “並且”  “或者” 的情況。

 

這里的或者情況,一定要搞清楚無論有多少情況,只要“或者”出現,他的級別和第一個輸入框的級別是一樣的,如果我們把查詢的條件語句分一下級別,

第一個輸入框為solrSQL(主查詢語句);

第二個輸入框為solrFQ1(子查詢語句1);

第三個輸入框為solrFQ2(子查詢語句2);

級別:solrSQL > solrFQ1 > solrFQ2

這樣分一下級別很清楚了,方便我們拼接solr的查詢語句,

好了,直奔下一步。上面講到的只要出現或者我們可以理解為:solrSQL= solrFQL2>slorSQL1。

當然有些業務需求不同,可能是    solrSQL>solrFQ1=solrFQ2,這種需求為 在情況solrSQL的結果中,找出並且solrFQ1或者solrFQ2的情況,

具體的查詢代碼(以舉例說明):

solrSQL:X_1457955996315_TM:"測試" + X_1457955996315_TM:"光盤"+ X_1457955996316_TM:"測試" + X_1457955996316_TM:"光盤"

solrFQ:X_1457955996315_TM:"竣工" + X_1457955996316_TM:"竣工" 

solrFQ2:

2.並且  不含 的情況

等級為:solrSQL = solrFQ1 != solrFQ2

 

具體的查詢代碼(以舉例說明):

solrSQL:X_1457955996315_TM:"測試" + X_1457955996316_TM:"測試" 

solrFQ:X_1457955996315_TM:"竣工" + X_1457955996316_TM:"竣工" NOT  X_1457955996315_TM:"光盤" NOT  X_1457955996316_TM:"光盤"

solrFQ2:

不知道大家有沒有發現以上情況除了 並且- 並且- 並且 的情況  其他情況基本上用不到 solrFQ2,基本上是在solrSQ和solrFQ1進行處理。

大家以此類推四級、五級.......N級的篩選情況。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM