0
我正在開發使用索爾的搜索引擎,並且我已成功地使用DIH(Dataimport處理程序)從一個表索引數據。我需要的是從5個不同的表中獲取搜索結果。沒有幫助,我無法做到這一點。使用DIH索引索引多表中索引
如果我們假設x表有x行,那麼每張表應該有x * x個文檔,如果總共有5個表,則導致5x個文檔。在dataconfig.xml中,我在單個文檔中創建了5個獨立的實體,如下所示。當我查詢*:*
時,索引數據的結果只有6個實體用戶,3個來自實體類,即用戶總行數爲9個。
顯然,這種方式對我來說並不適用,所以如何我可以使用唯一的核心來實現嗎?
注意:我跟着DIHQuickStart和DIH tutorial這沒有幫助我。
<document>
<!-- Users -->
<entity dataSource="JdbcDataSource" name=" >
<field column="name" name="name" sourceColName="name" />
<field column="username" name="username" sourceColName="username"/>
<field column="email" name="email" sourceColName="email" />
<field column="country" name="country" sourceColName="country" />
</entity>
<!-- Classes -->
<entity dataSource="JdbcDataSource" name="classes" >
<field column="code" name="code" sourceColName="code" />
<field column="title" name="title" sourceColName="title" />
<field column="description" name="description" sourceColName="description" />
</entity>
<!-- Schools -->
<entity dataSource="JdbcDataSource" name="schools" >
<field column="school_name" name="school_name" sourceColName="school_name" />
<field column="country" name="country" sourceColName="country" />
<field column="city" name="city" sourceColName="city" />
</entity>
<!-- Resources -->
<entity dataSource="JdbcDataSource" name="resources" >
<field column="title" name="title" sourceColName="title" />
<field column="description" name="description" sourceColName="description" />
</entity>
<!-- Tasks -->
<entity dataSource="JdbcDataSource" name="tasks" >
<field column="title" name="title" sourceColName="title" />
<field column="description" name="description" sourceColName="description" />
</entity>
</document>
這可能會幫助,但我需要什麼所有這5個表都被視爲每行的搜索結果項目,因此我可以將其用於一般搜索。這是搜索以下示例的示例:1-類2-用戶b 3-任務4-資源a – Khaled 2011-06-15 13:58:18
您可能想要使用緩存實體版本http://wiki.apache.org/solr/DataImportHandler#CachedSqlEntityProcessor – 2011-06-15 22:14:23