我是lucene的新手,第1天新手。所以我已经阅读了关于lucene的教程,并花了一些时间试图找出如何在lucene中找到非null值。
所以我有一份名为Inspect的文件 该文件有两个我感兴趣的领域:Inspect and Direct。
{
"Inspect": "Feather",
"Direct": {}
}
我想查找Inspect =“Feather”和Direct不为空的所有文档。 我也有兴趣找到Direct也是空的文件。
我在ravenDB工作室中这样做,所以我正在使用lucene。我尝试了一些像
这样的东西Inspect: Feather
And NOT
Direct: [[NULL_VALUE]]
然而,这似乎不起作用。任何建议或指示都会非常感激。
干杯
答案 0 :(得分:1)
@stacka嗨!我也是RavenDB的新手,但我有一些想法可以帮助你。首先,使用' - '(减号)字符而不是NOT。这是一个惯例。其次,当任何属性未编入索引时,您可能会面临无法对db运行查询的问题。因此,您应该创建一个包含要查询的字段。希望,这会有所帮助。
答案 1 :(得分:1)
您需要运行如下查询:
Inspect: Feather AND NOT Direct.Count: 0
当您与空对象进行比较时,它失败,Direct
不为空,但是.Count
那里实际上是在计算对象中属性的数量,这似乎是什么你想要的。