2013-02-21 122 views
1

我有以下架構。Solr通過存儲值刪除文檔

<fields> 
    <field name="id" type="string" stored="true"/> 
    <field name="general" type="text" indexed="true"/> 
    <field name="title" type="string" stored="true"/> 
    <field name="description" type="string" stored="true"/> 
    <field name="entity_type" type="int" indexed="true" stored="true"/> 
    <field name="entity_id" type="int" stored="true"/> 
    <field name="pic" type="string" stored="true"/> 
</fields> 

我想通過存儲的值刪除文件,例如通過id字段。那可能嗎?

如果不可能,我應該刪除什麼來實現它?如果我需要將id字段編入索引,那麼如何將它們轉換爲索引而不重新導入數據?

回答

1

一種方法是將字段ID定義爲您的uniqueKey。比你可以通過使用這個ID刪除文檔。請參閱here

1

如果您打算在查詢中使用Id字段,則需要對Id字段進行索引。
如果您將該字段標記爲索引,則需要完全重新導入數據,因爲已經執行的分析

+0

沒有辦法強制Lucene自己重新生成索引? – 2013-02-22 10:42:06

+0

沒有Lucene/solr本身不會做任何事情。由於這是模式結構的變化,因此需要重新編制文檔。 – Jayendra 2013-02-25 03:45:18