2014-11-03 126 views
0

所以我一直在讀the migration docs,我被困在如何將Django-Haystack中的SearchSite從1.X遷移到2.X?

•去除SearchSite & haystack.site的。
•刪除 handle_registrations & autodiscover。
•增加了多個 索引支持。
•添加SignalProcessors &刪除 RealTimeSearchIndex。
•各種 設置的刪除/重命名。

,因爲「的RealTimeSearchIndex刪除」進行了說明,什麼代替autodiscover做,SearchSite我不能在那裏找到。有誰知道去哪裏看/做什麼?我堅持如何主要遷移SearchSite

回答

0

我不得不在一些站點遷移,我永諾遵循這個步驟:

切記妥善保存您或多個索引使用備份,快照或其他任何方式

  1. 卸載ElasticSearch
  2. 卸載default-jre-headless(如果你有它的話安裝,這是很好的更新JAVA)
  3. 卸載pyelasticsearchDjango的草垛
  4. 安裝的OpenJDK-7的JRE,無頭
  5. 安裝新elasticsearch(我用1.3.4) 。
  6. 安裝與PIPDjango的草垛== 2.3.0pyelasticsearch == 0.7.1elasticsearch == 1.2.0

平時我有OpenJDK的-6- JRE,無頭的安裝和更新它到OpenJDK的-7的JRE,無頭

有了這個6個步驟我許多項目更新爲草堆2.3.0

您可以與其他軟件的版本試試,我用這些和正常工作

+0

謝謝,但它更多的語法變化,我需要幫助。有許多術語已經改變了django-haystack 2.X的語法,我正在試圖找到這些語法。 – 2014-11-04 09:58:51

+0

我已閱讀官方文檔中關於'SearchSite'上的更改的一些更改,但它並未影響我工作的任何項目,在Haystack 2.3.0更新後仍然有效。對不起,我忍不住了! – AlvaroAV 2014-11-04 10:06:22

0

見我警告你其他的問題...

我不知道如果有一個簡單的自動發現來更換保存輸入。你可能不得不列出所有的搜索索引類和他們感興趣的領域,而不是讓乾草堆淹沒你的所有模型。

遷移文檔說,索引。可轉位是一個小混合類,你需要添加/繼承。基本上應該把這個班級標記爲乾草堆應該關心的東西。這應該基本上代替在您的模型上明確調用寄存器。你還需要在你的搜索索引類上有一個get_model方法 - 我相信這會將它們與你正在搞的任何Django模型聯繫起來。根據文檔(http://django-haystack.readthedocs.org/en/latest/searchindex_api.html#index-queryset),index_queryset方法似乎不是強制性的,但可能會引起您的興趣,具體取決於您重新編制索引時「整個」數據集對您的意義。 HTH。

相關問題