Solr与Elasticsearch对嵌套文档的比较
我一直在为我的项目使用solr,但最近我遇到了Elasticsearch,它似乎非常有前途。我的项目需要处理嵌套文档的能力,我想知道哪一个做得更好。Solr最近刚刚添加了子文档,但它和Elasticsearch一样好吗?Elasticsearch能否同时对父项和子项执行查询?谢谢我不知道弹性搜索,所以这总是50%的答案。 Solr最适合于非规范化数据。但是,如果您有嵌套文档,则可以在两种情况下使用solr:Solr与Elasticsearch对嵌套文档的比较,search,solr,elasticsearch,Search,Solr,elasticsearch,我一直在为我的项目使用solr,但最近我遇到了Elasticsearch,它似乎非常有前途。我的项目需要处理嵌套文档的能力,我想知道哪一个做得更好。Solr最近刚刚添加了子文档,但它和Elasticsearch一样好吗?Elasticsearch能否同时对父项和子项执行查询?谢谢我不知道弹性搜索,所以这总是50%的答案。 Solr最适合于非规范化数据。但是,如果您有嵌套文档,则可以在两种情况下使用solr: 具有子属性的父级查询 查询父项的所有子项 您可以使用块联接来执行上述查询。即使处理嵌套级
您可以使用块联接来执行上述查询。即使处理嵌套级别,solr也会在内部将其作为非规范化的级别进行管理。我的意思是,当一个父母有两个孩子时,你最终会在solr中得到三个高级文档。solr管理关系部分。我不知道弹性搜索,所以这总是50%的答案。 Solr最适合于非规范化数据。但是,如果您有嵌套文档,则可以在两种情况下使用solr:
您可以使用块联接来执行上述查询。即使处理嵌套级别,solr也会在内部将其作为非规范化的级别进行管理。我的意思是,当一个父母有两个孩子时,你最终会在solr中得到三个高级文档。solr负责管理关系部分。我最近一直在研究这个主题,据我所知,ElasticSearch使处理嵌套文档的工作变得更加轻松,尽管solr也支持嵌套(但在查询方面不太灵活) 因此ElasticSearch的特点是:
- “无缝”支持嵌套:您无需更改 嵌套文档结构或添加特定字段。然而,你需要 在映射中指示在创建 索引
- 支持带有“嵌套”和“路径”的嵌套查询:
- 支持使用嵌套文档进行聚合和筛选:也可通过 “嵌套”和“路径”
- 通过添加uroot u)字段修改schema.xml
- 修改数据集,使父文档和子文档具有特定的区分字段,特别是childDocuments,以指示子文档(请参阅中的详细信息)
- 嵌套文档上的聚合和过滤即使不是不可能的,也是非常复杂的
底线是,在嵌套文档的意义上,ElasticSearch可以做Solr所能做的一切,甚至可以用更少的努力和更平滑的学习曲线做得更多。因此,在这种情况下使用ElasticSearch似乎更为合理。我最近一直在研究这个主题,据我所知,ElasticSearch使处理嵌套文档的工作变得更加轻松,尽管Solr也支持嵌套(但在查询方面不太灵活) 因此ElasticSearch的特点是:
- “无缝”支持嵌套:您无需更改 嵌套文档结构或添加特定字段。然而,你需要 在映射中指示在创建 索引
- 支持带有“嵌套”和“路径”的嵌套查询:
- 支持使用嵌套文档进行聚合和筛选:也可通过 “嵌套”和“路径”
- 通过添加uroot u)字段修改schema.xml
- 修改数据集,使父文档和子文档具有特定的区分字段,特别是childDocuments,以指示子文档(请参阅中的详细信息)
- 嵌套文档上的聚合和过滤即使不是不可能的,也是非常复杂的
底线是,在嵌套文档的意义上,ElasticSearch可以做Solr所能做的一切,甚至可以用更少的努力和更平滑的学习曲线做得更多。因此,在这种情况下,使用ElasticSearch似乎更合理。再次感谢。我试过Elasticsearch,它的准确性远远落后于Solr。我将继续支持索尔。再次感谢你。我试过Elasticsearch,它的准确性远远落后于Solr。我将坚持索尔的观点。