解決這個問題的最後一個選擇是詢問StackOverflow。如何在Apache Solr查詢中取得空值?
我想創建一個Solr的查詢來獲取對其領域的一個或一個特定的值不具有價值的文件...
Theorically,這個查詢應該有工作。
下面是一些信息:
查詢:(姓名:John) - >結果次數:15383 //約翰
查詢:(名稱:{* TO *}) - - >結果數:61013 //有一個名字
查詢人: - (名稱:{* TO *}) - >結果數:216888 //沒有名稱
人現在,當我使用OR運算符在同一個查詢中使用第一個和第三個查詢時,我期望得到(216888 + 15383)結果。但SOLR給出了15383個結果,簡單地忽略了第三個查詢的效果:
查詢: +((name:john)( - (name({{* * *))用過的。
這是一個Solr的錯誤,或者我在查詢中做錯了嗎?合併兩個查詢結果是一個額外的解決方案,但我不想執行額外的代碼實現,如果我可以用一個簡單的查詢來完成。
任何幫助,將不勝感激。
爲我工作! – Raj
這正是我所需要的。謝謝。你能解釋在這個例子中'AND *:*'做了什麼?我發現如果我把這部分放出去,我的搜索不起作用,我只是不知道爲什麼。 –
'*:*'表示所有行。 '*:* -name:*'表示沒有名稱值的所有行。 'name:john OR(*:* -name:*)'可以作爲'name ='john'或'name IS NULL'被轉換爲SQL – Semra