2013-06-20 19 views

回答

0

這意味着Solr試圖索引沒有指定字段ID的文檔。在你的schema.xml中你定義了一個uniqueKey字段,Solr索引的每個文檔都需要這樣一個id來索引。

+0

感謝您的幫助! 我在實體中使用了兩個字段, (1)user_id-primary key(2)destination - FULLTEXT索引。 下面我列出我的代碼供您參考。 data-config.xml: <字段列= 「目的地」 名稱= 「目的地」/> schema.xml中: <字段名= 「USER_ID」 類型= 「INT」 索引= 「真」 存儲= 「真」 需要= 「true」/> 任何想法我失蹤了?謝謝! –

+0

您需要查看您的schema.xml文件。在那裏你會發現一個名爲uniqueKey的主鍵聲明。您需要將此標記中的值更改爲user_id。第二個選項是在你的data-config文件中將user_id的名字改爲id。 – Denis

+0

非常感謝Denis先生! 成功完成apache solr與mysql數據庫的索引過程,它在solr Admin區域中工作。 但我無法在我的drupal站點搜索任何文本,它會返回錯誤消息「搜索暫時不可用,如果問題仍然存在,請聯繫站點管理員。」即使在網站管理面板中的apache solr搜索表單中配置(「admin \ config \ search \ apachesolr」)後。 是否需要在我們的drupal站點執行任何其他配置來實現solr搜索?爲什麼會發生?我該如何解決它? 在此先感謝! –

-1

其中一個原因必須是在Solr中不應該有id字段作爲int。它應該始終是字符串。我得到同樣的問題,因爲我將id字段定義爲整數而不是字符串。

0

我有這個相同的錯誤。我的表名是選民,我使用voterid作爲唯一的ID。但是,在我將列名voterid更改爲id後,它爲我工作。 這是我的數據-config.xml中

<dataConfig> 
    <dataSource type="JdbcDataSource" 
      driver="com.mysql.jdbc.Driver" 
      url="jdbc:mysql://localhost/test" 
      user="root" 
      password="root" /> 
    <document name="voter"> 
    <entity name="voter" query="select * from voter;" > 
<field column="id" name="id"/>  
    <field column="voter_name" name="voter_name"/> 
<field column="age" name="age"/> 
</entity> 
    </document> 
</dataConfig> 


Schema.xml File(I added 2 field , id was already present in the file) 

<field name="voter_name" type="string" indexed="true" stored="true"/>

<field name="age" type="int" indexed="true" stored="true"/>

<field name="id" type="string" indexed="true" stored="true"/>

相關問題