我是Apache SOLR的新手。我正在学习如何在SOLR中创建文档..
我的场景:在我的RDBMS数据库中,我有以下场景:
A"汽车"表" jc_cars " : id,name,extra
"属性"表" jc_attributes " : id , attributeName
属性和汽车之间的多对多表: "的 jc_car_attributes " : carID , attributeID , value
"文章" table: jc_articles : id,title,description
文章和汽车之间的多对多表格: "的 jc_car_articles " : articleID,carID
现在我想要的是:
实际上,当我进行以下查询时,我想要结果:
那么我应该如何创建Corresponding文档和Schema.xml .. ??
答案 0 :(得分:1)
Solr具有平坦的索引,因此您不能真正拥有具有多个值的关系列表(例如,与名称和值的关系,如您的属性)。
对于这些文章,您可以在多值字段中提供相关文章的ID,然后单独查找这些文件(a)在数据库中(b)在另一个solr核心中。
对于属性,如果您有固定的属性列表,则可以将这些属性连接到cars
并将每个属性读取到其自己的字段中。如果你没有固定的属性列表,你还必须使用一个单独的核心,基本上与你为文章所做的相反;在属性核心中进行查找,然后从汽车核心中查找特定的汽车。