Bra*_*don 3 c# lucene indexing lucene.net
假设我有一个名为'Animal'的类的2个实例.
Animal有3个字段:Name,Age和Type
name字段是可空的,所以在我插入一个Animal的实例作为Lucene索引文档之前,我检查Animal.Name == null,如果是,我不会将它作为字段插入到我的文档中.如果我要检索所有动物,我会看到Name字段不存在,我可以将其值设置为null.
但是,在某些情况下我可能会说"让我找到所有尚未指定名称的动物".在这种情况下,我想从我的动物索引中检索不包含Name字段的所有Lucene.NET文档.
使用Lucene.NET有一个简单的方法吗?我想远离不必执行某种黑客来检查我的名字字段是否具有值'null'.
我相信你可以用Solr做到这一点,但不能直接用Lucene做,所以用Lucene.Net是不可能的.
这里有两个解决方法,它们并没有那么糟糕:
__NULL__
或类似的自定义字符串,而不是省略该字段.这将是可搜索的.EMPTY_FIELD = "no"
.这可以在过滤器中使用.希望这对你有所帮助.