gpt4 book ai didi

solr - 将 solr/pysolr 与 flask sqlalchemy 一起使用

转载 作者:行者123 更新时间:2023-12-03 17:04:30 25 4
gpt4 key购买 nike

我正在尝试将 solr 设置为与我通过 flask sqlalchemy orm 使用的 postgres db 一起使用。我为此目的找到了库 pysolr,但不清楚如何在 sqlalchemy 模型中设置 Hook 以更新 solr 索引。有没有例子?

pysolr 建议通过 solr.add 手动插入文档,但不清楚如何分隔不同数据库表的索引。

在做了一些研究之后,我想出了以下方法,我想知道这是否是正确的方法:

  • 在 ORM 模型中, Hook after_insert、after_update、after_remove 和 after_commit 并在这些事件中插入/更新/删除 solr 中的对象数据。
  • 为了分离不同模型的数据,在 solr 文档的“id”字段中使用表名作为前缀。 solr_id = db_table_name + db_id
  • 当您进行搜索时,获取所有结果,手动过滤与所需 db 表匹配的那些,提取 id,根据这些 id 查找 db 并使用这些 db 结果。

  • 有没有更好的方法来做到这一点?谢谢。

    最佳答案

    SQLAlchemySolr是不同的结构。我认为更好的解决方案是实现一个脚本来同步数据。运行脚本以更新新数据可能需要 30 分钟或一个小时。

    在模型中绑定(bind)插入/更新/删除/提交机制不是好方法。因为如果您的 Solr 服务出现任何问题,您的网站(关于访问数据库)将受到影响。保持差异服务独立。

    关于solr - 将 solr/pysolr 与 flask sqlalchemy 一起使用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21845395/

    25 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com