solr query-获取结果而不扫描文件

时间:2013-04-29 14:11:10

标签: performance solr indexing

我想执行一个solr查询,只得到我定义的uniquKey 文档非常大,因此定义fl ='my_key'的速度不够快 - 所有匹配的文档仍然被扫描,查询可能需要数小时(即使搜索本身很快 - numFound需要几秒钟才能返回)。
我应该提到存储所有数据,并且不能创建新索引。

我的一个想法是获取结果的docIds并将它们映射到代码中的my_key 我使用了fl = [docid],认为它不需要扫描来获取这些信息,但它仍然需要很长时间才能返回。

有更好的方法来获取docIds吗? 或者一种在不重新索引的情况下取消存储某些字段的方法? 或者在不扫描所有领域的情况下以完全不同的方式获得结果?

谢谢,

Dafna先生

1 个答案:

答案 0 :(得分:0)

抱歉,但唯一的办法是在多个文件中打破你的巨大文件。我看不出如何仅匹配您指定的字段并单独放置文档。这不是Lucene的工作方式。

可以创建一个文档,该文档仅使用查询所需的索引字段来简化作业,或者根据所需的查询中断文档。或者只是添加具有这些新查询所需结构的其他文档。这取决于你。