Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/solr/3.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
Java 如何在Solr索引中创建嵌套文档?_Java_Solr_Indexing_Document_Solrj - Fatal编程技术网

Java 如何在Solr索引中创建嵌套文档?

Java 如何在Solr索引中创建嵌套文档?,java,solr,indexing,document,solrj,Java,Solr,Indexing,Document,Solrj,我想在solr中创建嵌套文档,我使用的是java/GWT/SolrJ 目前,我正在为以下字段编制索引: 项目: id标题说明 1 xyz xyzxyzxyz 2 pqr pqrpqrpqr 3 abc ABCABC 但现在我想再创建一个与上面的每个文档链接的文档,即对于id 1,有一个子文档包含以下字段: 项目\用户\详细信息: 关于项目1: 用户详细信息 1 qweqweqwe 2 xyzxyzxyz 3 asdasdasd 通过这种方式,我想为上表中的每个项目id创建一个链接文档,其中包含项

我想在solr中创建嵌套文档,我使用的是java/GWT/SolrJ

目前,我正在为以下字段编制索引:

项目:
id标题说明

1 xyz xyzxyzxyz

2 pqr pqrpqrpqr

3 abc ABCABC

但现在我想再创建一个与上面的每个文档链接的文档,即对于id 1,有一个子文档包含以下字段:

项目\用户\详细信息:

关于项目1:

用户详细信息

1 qweqweqwe

2 xyzxyzxyz

3 asdasdasd

通过这种方式,我想为上表中的每个项目id创建一个链接文档,其中包含项目\用户\详细信息

我该怎么做。。。?
提前感谢…

在我们的模式中,我们有很多相关的表

我们决定将所有关系平铺成一份文件。为了实现这一点,我们创建了一个自定义导入器(使用SolrJ),它从索引中加载每个文档,添加相关字段并写回该文档

[编辑]
我们的做法如下:

  • 将每个表的数据导出到csv文件中(项目、项目\用户\详细信息)
  • 将每个csv文件导入到Solr中,从顶部开始(案例中的项目)
  • 启动嵌入式Solr服务器:
    System.setProperty(“solr.solr.home”,config.getSolrIndexPath())
    
    CoreContainer.Initializer Initializer=新的CoreContainer.Initializer()
    
    this.coreContainer=initializer.initialize()
    
    this.solr=newEmbeddedSolrServer(this.coreContainer,”)
    或者,您可以访问远程solr实例:
    this.solr=newhttpsolrserver(“http://[您的url]/solr”)
  • 为文件中的每一行创建一个SolrDocument
  • 将其添加到索引
    this.solr.add(ClientUtils.toSolrInputDocument(doc))
  • Commit
    this.solr.Commit()
  • 从索引加载文档(项)
  • 通过文档id(项目id)识别csv文件中项目用户详细信息的关系
  • 使用item_user_details中的字段扩展加载的文档
  • 再次提交文档

  • Rene:你能给我一个例子或链接来参考吗…因为我是Solr的新手,所以没有足够的想法。Rene:这意味着所有的数据,即项目和用户项目数据都在同一个平面文档中编制索引。。??如果我想为item_user_details.创建另一个文档,该怎么办?是的,您将拥有一个大的非规范化文档。不同文档中indexin项目\用户\详细信息的用例是什么?