[英]solr search query with boolean parameter
以下是我索引到solr中的文檔:
<doc>
<field name="definition">Bookshelf are to keep books. </field>
<field name="whword">what</field>
<field name="definitionKey">bookshelf</field>
</doc>
現在,我需要查詢該文檔。 但是我的要求是檢查definitionkey
和whword
值是否相等。 以下是查詢:
http://localhost:8983/solr/faqcore/select?q=definitionKey:bookself&whword=null&wt=json
現在,在此查詢中, whword
值為null,並且不等於document中的值。 在這種情況下,結果應該為null,但我仍在輸出中將整個文檔作為json獲取。
請提供您的建議。
首先,您不能將whword=null
添加為請求參數,它必須是查詢( q
)或過濾器查詢( fq
)的一部分。
然后,Solr不知道null
值。 您必須在查詢或過濾器查詢中指定一個“負”條件。 獲取不帶空whword
文檔的條件是whword:[* TO *]
(注意大寫的TO
!),因此以下任何一項都可以工作(我在每個變量的末尾都跳過了&wt=json
):
q=definitionKey:bookshelf+-whword:[*+TO+*]
q=definitionKey:bookshelf+AND+NOT+whword:[*+TO+*]
q=definitionKey:bookshelf&fq=-whword:[*+TO+*]
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.