簡體   English   中英

在Flask SQLAlchemy中使用Solr / Pysolr

[英]Using solr/pysolr with flask sqlalchemy

我正在嘗試將solr設置為與我通過flask sqlalchemy orm使用的postgres db一起使用。 我為此目的找到了庫pysolr,但尚不清楚如何在sqlalchemy模型中設置鈎子以更新solr索引。 有什么例子嗎?

pysolr建議通過solr.add手動插入文檔,但是尚不清楚如何分隔不同數據庫表的索引。

經過研究,我想出了以下方法,我想知道這是否是正確的方法:

  1. 在ORM模型中,在這些事件中,將after_insert,after_update,after_remove和after_commit掛鈎,並在solr中插入/更新/刪除對象數據。

  2. 要分離不同模型的數據,請在Solr文檔的“ id”字段中使用表名作為前綴。 solr_id = db_table_name + db_id

  3. 搜索時,獲取所有結果,手動過濾與所需數據庫表匹配的那些結果,提取ID,針對這些ID查找數據庫,然后使用這些數據庫結果。

有沒有更好的辦法做到這一點? 謝謝。

SQLAlchemySolr是不同的結構。 我認為一個更好的解決方案是實現腳本來同步數據。 運行腳本以更新30分鍾或一個小時的新數據。

在模型中綁定插入/更新/刪除/提交機制不是一種好方法。 因為如果您的Solr服務有任何問題,您的網站(關於Access數據庫)將受到影響。 保持差異服務獨立。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM