我是lucene的新手,第一天是新的。所以我读了一个关于 lucene 的教程,并花了一段时间试图弄清楚如何在 lucene 中找到一个非空值。
所以我有一个名为"检查"的文档该文档有两个我感兴趣的字段:"检查"和"直接"。
{
"Inspect": "Feather",
"Direct": {}
}
我想查找检查="羽毛"和"直接"不为空的所有文档。我也有兴趣查找 Direct 也是空的文档。
我在 ravenDB 工作室中这样做,所以我正在使用 lucene。我已经尝试了一些事情,例如
Inspect: Feather
And NOT
Direct: [[NULL_VALUE]]
但是,这似乎不起作用。任何建议或一些指示将不胜感激。
干杯
您需要运行如下查询:
Inspect: Feather AND NOT Direct.Count: 0
当您与 null 对象进行比较时,它会失败,Direct
不是 null,但是有了.Count
,您实际上是在计算对象中的属性数量,这似乎是您想要的。
@stacka 嗨!我对RavenDB也很陌生,但我有一些想法可能会对你有所帮助。首先,使用"-"(减号(字符而不是 NOT。这是一个惯例。其次,您可能会遇到以下问题:当任何属性未编制索引时,无法对数据库运行查询。因此,您应该创建一个包含要查询的字段。希望,这会有所帮助。