簡體   English   中英

Solr過濾器查詢包括NOT和OR

[英]Solr filter query including NOT and OR

對於Solr中的過濾器查詢,我需要包括非特定類型的所有文檔,以及在某個字段中具有值的該類型的任何文檔。

我試過這個:

fq=(-type_id:(A) OR content:(['' TO *]))

但是它排除了具有null contenttype_id B,C等文檔。 type_idstring字段, contenttext 。)

我已經看到了這個問題: 復雜的SOLR查詢包括NOT和OR以及關於運算符的這篇文章: http//robotlibrarian.billdueber.com/2011/12/solr-and-boolean-operators/ 我認為我的語法應該是正確的。 誰能看到我的錯誤?


更新:我正在使用LuceneQParser。 它將上面的過濾器查詢解析為

-type_id:A content:['' TO *]

它解析注釋中建議的過濾器查詢( -type_id:A OR (content:[* TO *] AND type_id:A)

-type_id:A (+content:[* TO *] +type_id:A)

所以沒有結果。

否定需要一整套來匹配它,所以你的過濾器應該是:

fq=((*:* AND -type_id:A) OR content:(['' TO *]))

暫無
暫無

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

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