【问题标题】:solr query- get results without scanning filessolr 查询 - 无需扫描文件即可获得结果
【发布时间】:2013-04-23 05:57:57
【问题描述】:

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

我的一个想法是获取结果的 docId 并将它们映射到代码中的 my_key。
我用了fl=[docid],以为不需要扫描就可以得到这个信息,但是返回的时间还是太长了。

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

谢谢,

达芙娜

【问题讨论】:

  • 我也遇到过类似的问题!虽然找不到方法来解决它。我希望有人对此有更好的经验...
  • 为什么搜索慢?它的索引大小很大吗?以及对多个字段的查询搜索??

标签: performance solr indexing


【解决方案1】:

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

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

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多