2011-10-17 52 views
0

我是新來的solr。我創建了兩個不相關的獨立實體。在兩個實體之間搜索

在DB-數據-config.xml中

<entity name="vtab" query="select pid as id, pname as name from ptab order by name asc"> 
    <field column="panchayat_id" name="panchayat_id" /> 
    <field column="name" name="name" /> 
</entity> 
<entity name="ptab" query="select vid as id, vname as name from vtab order by name asc"> 
    <field column="id" name="vid" /> 
    <field column="name" name="name" /> 
</entity> 

在scheme.xml

<fields> 
    <field name="id" type="string" indexed="true" stored="true"/> 
<field name="name" type="text" indexed="true" stored="true" /> 
</fields> 
<uniqueKey>id</uniqueKey> 
<defaultSearchField>name</defaultSearchField> 

的索引與該配置成功創建。我想按名稱搜索。如果我在查詢中提供名稱,我希望從任何發現記錄的表中找到它。通過以上配置,我只從vtab獲取記錄。在ptab中沒有正在搜索的記錄。請指導我在哪裏出錯。

+0

您已將vtab實體命名爲ptab,反之亦然。你能否將添加到名爲vtab的實體並檢查它們是否已正確編制索引。這些ID是獨一無二的嗎?理想情況下,它應搜索兩個 – Jayendra

回答

0

您已將vtab實體命名爲ptab,反之亦然。
您可以添加到名爲vtab的實體並檢查它們是否已正確編制索引。
ids是唯一的嗎?如果ID是重複的,它們會覆蓋對方。 理想情況下,它應該搜索整個

0

問題解決了。我已經聲明「id」作爲主鍵,這是重複的。我與id-table_name一起創建了另一個字段並將其設置爲主鍵。它現在工作正常。謝謝Jayendra Patil先生。

+0

酷..如果解決方案/答案爲你工作。我已經將它添加爲答案。請接受它作爲答案。 – Jayendra