簡體   English   中英

帶有布爾參數的solr搜索查詢

[英]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>

現在,我需要查詢該文檔。 但是我的要求是檢查definitionkeywhword值是否相等。 以下是查詢:

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 ):

  1. q=definitionKey:bookshelf+-whword:[*+TO+*]
  2. q=definitionKey:bookshelf+AND+NOT+whword:[*+TO+*]
  3. q=definitionKey:bookshelf&fq=-whword:[*+TO+*]

暫無
暫無

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

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