Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/search/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Solr与Elasticsearch对嵌套文档的比较_Search_Solr_<img Src="//i.stack.imgur.com/RUiNP.png" Height="16" Width="18" Alt="" Class="sponsor Tag Img">elasticsearch - Fatal编程技术网 elasticsearch,Search,Solr,elasticsearch" /> elasticsearch,Search,Solr,elasticsearch" />

Solr与Elasticsearch对嵌套文档的比较

Solr与Elasticsearch对嵌套文档的比较,search,solr,elasticsearch,Search,Solr,elasticsearch,我一直在为我的项目使用solr,但最近我遇到了Elasticsearch,它似乎非常有前途。我的项目需要处理嵌套文档的能力,我想知道哪一个做得更好。Solr最近刚刚添加了子文档,但它和Elasticsearch一样好吗?Elasticsearch能否同时对父项和子项执行查询?谢谢我不知道弹性搜索,所以这总是50%的答案。 Solr最适合于非规范化数据。但是,如果您有嵌套文档,则可以在两种情况下使用solr: 具有子属性的父级查询 查询父项的所有子项 您可以使用块联接来执行上述查询。即使处理嵌套级

我一直在为我的项目使用solr,但最近我遇到了Elasticsearch,它似乎非常有前途。我的项目需要处理嵌套文档的能力,我想知道哪一个做得更好。Solr最近刚刚添加了子文档,但它和Elasticsearch一样好吗?Elasticsearch能否同时对父项和子项执行查询?谢谢

我不知道弹性搜索,所以这总是50%的答案。 Solr最适合于非规范化数据。但是,如果您有嵌套文档,则可以在两种情况下使用solr:

  • 具有子属性的父级查询
  • 查询父项的所有子项
    您可以使用块联接来执行上述查询。即使处理嵌套级别,solr也会在内部将其作为非规范化的级别进行管理。我的意思是,当一个父母有两个孩子时,你最终会在solr中得到三个高级文档。solr管理关系部分。

    我不知道弹性搜索,所以这总是50%的答案。 Solr最适合于非规范化数据。但是,如果您有嵌套文档,则可以在两种情况下使用solr:

  • 具有子属性的父级查询
  • 查询父项的所有子项
    您可以使用块联接来执行上述查询。即使处理嵌套级别,solr也会在内部将其作为非规范化的级别进行管理。我的意思是,当一个父母有两个孩子时,你最终会在solr中得到三个高级文档。solr负责管理关系部分。

    我最近一直在研究这个主题,据我所知,ElasticSearch使处理嵌套文档的工作变得更加轻松,尽管solr也支持嵌套(但在查询方面不太灵活)

    因此ElasticSearch的特点是:

    • “无缝”支持嵌套:您无需更改 嵌套文档结构或添加特定字段。然而,你需要 在映射中指示在创建 索引

    • 支持带有“嵌套”和“路径”的嵌套查询:

    • 支持使用嵌套文档进行聚合和筛选:也可通过 “嵌套”和“路径”

    使用Solr,您必须:

    • 通过添加uroot u)字段修改schema.xml

    • 修改数据集,使父文档和子文档具有特定的区分字段,特别是childDocuments,以指示子文档(请参阅中的详细信息)

    • 嵌套文档上的聚合和过滤即使不是不可能的,也是非常复杂的

    此外,完全不支持嵌套字段

    最新的Solr版本(5.1及以上)最终可以配置为支持嵌套(包括您必须更改输入数据结构),但是,文档不是很清楚,Internet上也没有太多信息,因为这些功能是最新的


    底线是,在嵌套文档的意义上,ElasticSearch可以做Solr所能做的一切,甚至可以用更少的努力和更平滑的学习曲线做得更多。因此,在这种情况下使用ElasticSearch似乎更为合理。

    我最近一直在研究这个主题,据我所知,ElasticSearch使处理嵌套文档的工作变得更加轻松,尽管Solr也支持嵌套(但在查询方面不太灵活)

    因此ElasticSearch的特点是:

    • “无缝”支持嵌套:您无需更改 嵌套文档结构或添加特定字段。然而,你需要 在映射中指示在创建 索引

    • 支持带有“嵌套”和“路径”的嵌套查询:

    • 支持使用嵌套文档进行聚合和筛选:也可通过 “嵌套”和“路径”

    使用Solr,您必须:

    • 通过添加uroot u)字段修改schema.xml

    • 修改数据集,使父文档和子文档具有特定的区分字段,特别是childDocuments,以指示子文档(请参阅中的详细信息)

    • 嵌套文档上的聚合和过滤即使不是不可能的,也是非常复杂的

    此外,完全不支持嵌套字段

    最新的Solr版本(5.1及以上)最终可以配置为支持嵌套(包括您必须更改输入数据结构),但是,文档不是很清楚,Internet上也没有太多信息,因为这些功能是最新的


    底线是,在嵌套文档的意义上,ElasticSearch可以做Solr所能做的一切,甚至可以用更少的努力和更平滑的学习曲线做得更多。因此,在这种情况下,使用ElasticSearch似乎更合理。

    再次感谢。我试过Elasticsearch,它的准确性远远落后于Solr。我将继续支持索尔。再次感谢你。我试过Elasticsearch,它的准确性远远落后于Solr。我将坚持索尔的观点。