繁体   English   中英

附加到Solr索引

[英]Append to a Solr Index

这可能是一个琐碎的问题,但是我试图将其附加到现有的Solr索引上,并且似乎每次都覆盖那里的内容。 我有两个要从中获取数据的数据库,可以分别从每个数据库导入数据,但是当我从一个数据库导入数据然后立即从第二个数据库导入数据时,第一个数据库将被覆盖。 我在db-config.xml文件中映射了两个数据源,并且我正在使用标准的Admin UI来运行导入。 我的配置文件如下所示。

<dataConfig>
  <dataSource 
    name="ds-1"
    type="JdbcDataSource" 
    driver="Driver"
    url="jdbc_url1" 
    user="user1" 
    password="pass1"/>

<dataSource
    name="ds-2"
    type="JdbcDataSource" 
    driver="Driver"
    url="jdbc_url2" 
    user="user2" 
    password="pass2"/>

   <document>

 <entity name="entity1" dataSource="ds-1" query="SELECT YYY  FROM TABLE">
      ...
    </entity>

 <entity name="entity2" dataSource="ds-2" query="SELECT ZZZ FROM TABLE">
      ...
    </entity>

  </document>
</dataConfig>

我该怎么做才能防止原始索引被覆盖。 我想一直不断地从各种不同的源中添加数据,因此删除索引对我现在好了。

您的问题是您可能正在将索引文档的键定义为数据库中的主键ID,并且值重叠。 为了防止这种情况,您将需要为Solr指定唯一的ID。 通常,当我过去遇到此问题时,我使用字符串字段作为id字段,并在数据库的id后面附加一个或两个字符以使其唯一。 示例:“产品表”中的商品具有ID(例如P1,P2等),而“订单表”中的商品具有ID(例如O1,O2等)。

您应该能够使用数据导入处理程序TemplateTransformer来帮助您完成此任务。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM