2012-08-09 111 views
15

我想在我的查詢的第二部分有一個數據非空的結果列表。我發現它是如何在solr中,而不是在lucene中。 任何人都有一個想法 感謝如何查詢空字段的lucene?

字符串:

(field_one:搜field_two:3000)OR(field_three:搜索和field_two:3000 NOT NULL field_one

查詢:

+ field_one:search + field_two:3000 + field_three:search + field_two:3000 -field_one:null

回答

14
*:* -MY_FIELD_NAME:[* TO *] 

上面應該這樣做,注意*:*爲Lucene。

+0

我嘗試了您的建議,但這不起作用。考慮到當我沒有提供任何值時,我想要的屬性是否不爲null,我想這個請求並不能處理它。 – 2012-08-10 08:33:26

+0

很好,以上工作,該字段需要存在(它只區分NULL和非空(參見空字符串) – Mikos 2012-08-10 17:11:05

5
*:* -MY_FIELD_NAME:[* TO "zzzzzzzzzz"] 

您可以添加更多的「z」字符以確保包含字段的任何值。

+0

不幸的是,「zzzzzzzzzzz」不考慮非字母數字字符。 – 2017-11-08 08:46:29