在SOLR中创建文档..?

时间:2012-03-02 06:17:06

标签: solr full-text-search schema document

我是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

现在我想要的是:

  • 搜索 所有具有属性的汽车(如价格)
  • 搜索 与此车相关的所有文章

实际上,当我进行以下查询时,我想要结果:

  • 价格低于400000的汽车 :应该提供汽车详细信息和 相关文章
  • 现代口音 :应提供汽车详情及相关文章
  • 等等......

那么我应该如何创建Corresponding文档和Schema.xml .. ??

1 个答案:

答案 0 :(得分:1)

Solr具有平坦的索引,因此您不能真正拥有具有多个值的关系列表(例如,与名称和值的关系,如您的属性)。

对于这些文章,您可以在多值字段中提供相关文章的ID,然后单独查找这些文件(a)在数据库中(b)在另一个solr核心中。

对于属性,如果您有固定的属性列表,则可以将这些属性连接到cars并将每个属性读取到其自己的字段中。如果你没有固定的属性列表,你还必须使用一个单独的核心,基本上与你为文章所做的相反;在属性核心中进行查找,然后从汽车核心中查找特定的汽车。