2014-01-16 109 views
0

我有数以百万计的文档,其中包含以下字段:
name(string),start version(int),end version(int)。Solr中的范围查询

我需要查询有效的所有记录,回答了查询:
选择所有文件,其中version> =“启动版”和版本< =“终结版”

运行上面的查询了50 -100毫秒,而通过标记每个版本的类似查询仅需要15毫秒。

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

+0

这里的“全面扫描”是什么意思(在solr范围内)?你是如何衡量是否有“全面扫描”? – rchukh

回答

0

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

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

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

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

希望我帮了忙!