代码之家  ›  专栏  ›  技术社区  ›  Mad Dog Tannen

索引布尔值的最佳方法。跳过false并使用MUST_NOT为true?

  •  1
  • Mad Dog Tannen  · 技术社区  · 9 年前

    我正在使用 Lucene.Net 我的索引。

    对于某些领域,我有 true / false 值,传递给分析器 ANALYZED .

    我的问题很简单,跳过值更好吗 假的 并将空值传递给索引器,然后执行搜索 'false' 使用 BooleanQuery 并使用搜索 Occur.MUST_NOT = true ,还是最好对其进行索引并搜索 Occur.MUST = false .

    1 回复  |  直到 9 年前
        1
  •  0
  •   Community George Stocker    7 年前

    一定要在索引中保留“false”值。

    查询如下: -myBool:true problematic in Lucene ,并可能迫使您使用 MatchAllDocsQuery ,这既尴尬又是性能杀手。

    消除它们可能会节省空间, 尤其地 如果所讨论的字段仅为索引(未存储)。