我有数百万个包含以下字段的文档:
名称(字符串)、开始版本(int)、结束版本(int)。
我需要有效地查询所有回答查询的记录:
选择 version >= "start version" and version<="end version" 的所有文档
运行上述查询需要 50-100 毫秒,而通过标记每个版本的类似查询只需要 15 毫秒。
我的问题是 Solr 处理此类查询的效率如何?
欢迎任何替代解决方案。
如果需要,可以更改字段值/类型。
我有数百万个包含以下字段的文档:
名称(字符串)、开始版本(int)、结束版本(int)。
我需要有效地查询所有回答查询的记录:
选择 version >= "start version" and version<="end version" 的所有文档
运行上述查询需要 50-100 毫秒,而通过标记每个版本的类似查询只需要 15 毫秒。
我的问题是 Solr 处理此类查询的效率如何?
欢迎任何替代解决方案。
如果需要,可以更改字段值/类型。
我想你不会找到比 Solr 更好的解决方案。您描述的场景是 Solr 中的目标场景之一。在决定如何继续之前,我会检查这些事情:
检查您是否在特定字段上有索引。您可以使用 Solr 的配置文件查看/定义 Solr 上的索引。您在Schema.xml文件中添加索引。在SolrConfig.xml 中,您还可以定义索引的低级行为。
检查是否启用了缓存。这实际上可以加快您的实际使用场景。您可以更改SolrConfig.xml中的相应设置。
如果在上述检查/更改之后您仍然对 Solr 性能不满意,我会检查一些 NoSQL 数据库解决方案。也许mongoDB是一个提供完整索引支持的面向文档的存储,可以表现得更好。
希望我有所帮助!