我们正在使用Lucene 4.7来构建和查询相当大的数据集(超过110万个文档)。
我们用于分面的文档字段之一定义如下:
<field name="topic_paths"
type="string"
indexed="false"
stored="false"
docValues="true"
multiValued="true"
termVectors="false"
termPositions="false"
termOffsets="false"/>
每当我们在查询中包含此字段时,它们变得非常慢:搜索中包含的每topic_path
值约为7秒,因此对于四个topic_path
值(在我们的示例中为典型值)约为30秒。
不使用此字段的查询速度非常快(15毫秒)。
我们应该期待Lucene使用多值字段进行分面的表现吗?我们的字段定义是否有任何错误或次优?我们可以用它来加速搜索吗?
详细说明:
答案 0 :(得分:1)
阅读这篇文章http://wiki.apache.org/solr/SchemaXml#Fields
你需要&#34;索引&#34;你将其包括在搜索/分面中,否则Solr将毫无例外地跳过这个字段