Solr docValues用法

时间:2014-10-21 19:57:49

标签: solr datastax-enterprise datastax

我打算尝试使用Solr的docValues来改善方面和排序性能。我对此功能有一些疑问:

  1. 如果我启用docValues,除了单独的反向索引(搜索)之外,Solr会创建一个正向索引(用于分面)吗?或者Solr只会创建一个前进索引吗? (因此,导致分面中的性能提升以换取搜索中的性能损失)
  2. 如果我想在一个领域进行分面和搜索,那么最佳做法是什么?我应该设置" indexed = true"和" docValues = true"在同一个字段中,还是应该创建一个复制字段,其中源字段的索引为= true而目标字段的docValues = true? (即优化用于搜索的源字段以及用于分面的dest字段;这是否甚至需要?)
  3. 来自Datastax的以下documentation page声明:" 要使用docValues进行分面,架构需要指定multiValued =" true"即使该字段是单值facet字段"。我有点困惑 - 这只适用于与docvalues一起使用的复制字段(dest),或者即使对于非复制字段也是如此吗?
  4. 我正在使用Datastax Enterprise 4.5.2

1 个答案:

答案 0 :(得分:1)

Solr faceting实现只有在被标记为多值的情况下才会使用DocValues,因此,除非您的字段实际上是多值的,否则我建议使用multiValued = true和docValues的非存储副本字段= true,以避免将单值字段存储为Cassandra列表/集。