【问题标题】:Range query in SolrSolr 中的范围查询
【发布时间】:2014-01-16 16:58:59
【问题描述】:

我有数百万个包含以下字段的文档:
名称(字符串)、起始版本(整数)、结束版本(整数)。

我需要有效地查询所有回答查询的记录:
选择 version >= "start version" 和 version

的所有文档

运行上述查询需要 50-100 毫秒,而通过标记每个版本进行类似查询只需要 15 毫秒。

我的问题是 Solr 处理此类查询的效率如何?
欢迎任何替代解决方案。
如果需要,可以更改字段值/类型。

【问题讨论】:

  • 这里的“全扫描”到底是什么意思(在 solr 范围内)?您是如何测量“全面扫描”的?

标签: java solr interval-tree


【解决方案1】:

我想你不会找到比 Solr 更好的解决方案。您描述的场景是 Solr 中的目标场景之一。在决定如何继续之前,我会检查这些事情:

  • 检查您是否在特定字段上有索引。您可以使用 Solr 的配置文件查看/定义 Solr 上的索引。您在Schema.xml 文件中添加索引。在SolrConfig.xml 中,您还可以定义索引的低级行为。

  • 检查caching 是否启用。这实际上可以加快您的实际使用场景。您可以更改SolrConfig.xml 中的相应设置。

  • 如果经过上述检查/更改后您仍然对 Solr 性能不满意,我会检查一些 NoSQL 数据库解决方案。也许mongoDB 是一个提供完整索引支持的面向文档的存储,性能会更好。

希望我能帮上忙!

【讨论】:

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