2015-10-04 105 views
0

我有一個wp_postmeta表,其中有post_id,meta_valuemeta_key作爲其列。然後我有一個wp_customer_review表格,其中包含客戶的所有評論細節,其中包括評分。Solr文檔更新

我將索拉所有這些帖子編入索引,並使用一個插件在更新帖子時更新Solr索引。爲了列出帖子,在用戶查詢時,我拉取相關文件。文檔中的一個這樣的字段是平均評分,這意味着每個Solr文檔都需要這個字段。

所以在現階段,我能想到的兩個選項

  • 只要客戶給出了我計算平均得分,在我wp_postmeta更新列表評級。
  • 每天運行一次或兩次cron作業來完成同樣的工作?

我對正確的方法感到困惑。任何幫助,將不勝感激。謝謝。

回答

0

桌子有多大?當客戶給出評分時,是否需要更新1條記錄? 100條記錄? 100,000條記錄?平均變化的頻率如何?有鑑於此,我不得不假設一種混合方法。我認爲,如果列表中的記錄數量很少,平均值可能會在審覈時發生顯着變化。當列表中有100,000條評論時,平均值不會在每條評論中發生變化。

我可能會定義一個閾值。在X評論下 - 平均值會在現場改變。在這個數字上,平均值將在一天結束時計算。

0

此過程是否需要優化?我的意思是,您的用戶是如此快速地發佈評論,以至於您擔心Solr資源利用率?這聽起來像一個用戶審查行動將觸發最多一個文件更新。

通常最快的解決方案是最好的初始解決方案。我建議只是在添加評論時更新/重新索引Solr文檔:編輯。

如果更新量較高,請啓動監視更新延遲和查詢延遲,以查看在高更新負載下是否出現降級。如果是這樣,那麼像Uri's這樣的解決方案可能是有序的。