2012-03-02 209 views
0

我是新來的Apache SOLR..ni正在學習如何創建SOLR文件..在SOLR ..中創建文檔?


我的情形:在我的RDBMS數據庫中,我有以下情形:

A「汽車」表 「jc_cars」:ID,姓名,額外

的 「屬性」 表 「jc_attributes」:的attributeName

屬性和汽車之間的許多-to_many表: 「jc_car_attributes」:carID屬性Id

的 「文章」 表:jc_articles編號,標題,描述

一個許多一對多的文章和汽車之間的表: 「jc_car_articles」:條款ArticleID,carID

現在我想的是:

  • 搜索所有車型及其屬性(如價格)
  • 搜索所有當我提出以下查詢與此相關的汽車

其實我想要的結果的文章:

  • 同價位汽車少超過40萬人:宜給汽車細節和 相關文章
  • 現代雅紳特:應該給車詳細信息以及相關文章
  • 等等.....

所以我應該如何創建相應的文件和Schema.xml的..?

回答

1

Solr有一個扁平的索引,所以你不可能真的有一個關係與多個值的關係列表(例如與名稱和值的關係,如你的屬性)。

對於這些文章,您可以在多值字段中提供相關文章的ID,然後單獨查找這些(a)在另一個solr核心的數據庫(b)中。

對於屬性,如果你有一個固定的屬性列表,你可以將它們加入到cars並將每個屬性讀入它自己的字段。如果你沒有一個固定的屬性列表,你也將不得不求助於一個單獨的核心,這基本上與你對文章所做的相反。在屬性核心中進行查找,然後從汽車核心中查找特定的汽車。

+0

thanx爲答案..但因爲我是新的Solr ..所以我dint理解你的答案很多...當你說另一個Solr核心..你的意思是另一個「請求處理程序」.. ?? – 2012-03-02 09:48:49

+0

[Solr cores](http://wiki.apache.org/solr/CoreAdmin)是不具有相同結構的文檔的單獨索引。在你的例子中:'cars'和'attributes'和'articles'。 – beerbajay 2012-03-02 10:58:33