5

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

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

有没有更好的方法来获取 docIds?
还是一种无需重新索引即可取消存储某些字段的方法?
或者也许是一种完全不同的方式来获得结果而无需扫描所有字段?

谢谢,

达芙娜

4

1 回答 1

0

抱歉,但唯一的方法是将您的庞大文件分成多个文件。我不明白如何只匹配您指定的字段而让文档单独存在。这不是 Lucene 的工作方式。

可以制作仅使用需要查询的索引字段的文档以简化工作,或者根据需要的查询破坏文档。或者简单地添加具有这些新查询所需结构的另一个文档。由你决定。

于 2013-07-03T10:34:25.863 回答