索引布尔值的最佳方式。跳过 false 并使用 MUST_NOT 是真的吗?

Best way to index boolean values. Skip false and use MUST_NOT be true?

我正在使用 Lucene.Net 进行索引。

对于某些字段,我有一个 true/false 值,该值被传递给分析器 ANALYZED

我的问题很简单,跳过值 false 并将空值传递给索引器并使用 BooleanQuery 搜索 'false' 并使用 Occur.MUST_NOT = true ,还是将其编入索引并搜索 Occur.MUST = false.

更好

绝对保留索引中的 "false" 个值。

像这样的查询:-myBool:trueproblematic in Lucene, and may force you into workarounds with a MatchAllDocsQuery,这既笨拙又是性能杀手。

您在 space 上通过消除它们而获得的任何节省可能都是微不足道的,尤其是 如果所讨论的字段仅用于索引(未存储)。