solr - 定义1:n关系

时间:2013-06-18 11:12:33

标签: search solr

我想从1:n db关系导入数据,即汽车和CarParts表 因为我不想在表格上写一个连接 (车辆ID和名称将在查询中相乘,因此在查询中将得到更高的分数)
我正在寻找在dataconfig和schema xml文件1:n连接中表示的推荐方法。

1 个答案:

答案 0 :(得分:0)

可以使用多值字段来解决此问题。

您的dataconfig可能如下所示:

...
<entity name="Cars" query="select carId, carName from Cars">

   <entity name="CarParts" query="select carPartName from CarParts 
                                    where carId = '${Cars.CarId}'">

  </entity>

</entity>
...

在架构文件中,将字段“carPartName”标记为多值。

<field name="carPartName" type="string" indexed="true" stored="true" multiValued="true" />

现在处理1:n关系,使得如果为每个“Car”创建文档,则相应的“Carparts”(可以多于一个)也是同一文档的一部分。