Solr嵌套(子)实体

时间:2016-06-23 14:52:57

标签: database indexing solr nodes entities

在我的dataConfig中,我按照这个例子。 Solr版本:6.0.0

 <dataConfig> 
<dataSource driver="org.hsqldb.jdbcDriver" url="jdbc:hsqldb:/temp/example/ex" user="sa" /> 
<document name="products"> 
<entity name="item" query="select * from item"> 
<field column="ID" name="id" /> 
<field column="NAME" name="name" /> 
<field column="MANU" name="manu" /> 
<field column="WEIGHT" name="weight" /> 
<field column="PRICE" name="price" /> 
<field column="POPULARITY" name="popularity" /> 
<field column="INSTOCK" name="inStock" /> 
<field column="INCLUDES" name="includes" />

<entity name="feature" query="select description from feature where item_id='${item.ID}'"> 
<field name="features" column="description" /> 
</entity> 
<entity name="item_category" query="select CATEGORY_ID from item_category where item_id='${item.ID}'"> 
<entity name="category" query="select description from category where id = '${item_category.CATEGORY_ID}'"> 
<field column="description" name="cat" /> 
</entity> 
</entity> 
</entity> 
</document> 
</dataConfig>

但是在导入数据后,我无法获得子节点。 我也试过动态字段,我得到了相同的结果。 在导入数据之前是否需要做些什么才能使其工作。

1 个答案:

答案 0 :(得分:0)

尝试将PK属性添加到您的商品实体:

<entity name="item" pk="ID" query="select * from item"> 

这应该让它的孩子可以使用。