[英]Using solr/pysolr with flask sqlalchemy
我正在嘗試將solr設置為與我通過flask sqlalchemy orm使用的postgres db一起使用。 我為此目的找到了庫pysolr,但尚不清楚如何在sqlalchemy模型中設置鈎子以更新solr索引。 有什么例子嗎?
pysolr建議通過solr.add手動插入文檔,但是尚不清楚如何分隔不同數據庫表的索引。
經過研究,我想出了以下方法,我想知道這是否是正確的方法:
在ORM模型中,在這些事件中,將after_insert,after_update,after_remove和after_commit掛鈎,並在solr中插入/更新/刪除對象數據。
要分離不同模型的數據,請在Solr文檔的“ id”字段中使用表名作為前綴。 solr_id = db_table_name + db_id
搜索時,獲取所有結果,手動過濾與所需數據庫表匹配的那些結果,提取ID,針對這些ID查找數據庫,然后使用這些數據庫結果。
有沒有更好的辦法做到這一點? 謝謝。
SQLAlchemy
和Solr
是不同的結構。 我認為一個更好的解決方案是實現腳本來同步數據。 運行腳本以更新30分鍾或一個小時的新數據。
在模型中綁定插入/更新/刪除/提交機制不是一種好方法。 因為如果您的Solr服務有任何問題,您的網站(關於Access數據庫)將受到影響。 保持差異服務獨立。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.