【问题标题】:Trigger Laravel Scout update from outside Laravel从 Laravel 外部触发 Laravel Scout 更新
【发布时间】:2017-08-26 06:43:00
【问题描述】:

我有一个 Laravel 后端,它基本上用作我的数据库及其数据的 API 和仪表板。每天使用 Python 脚本将数据直接更新到数据库。有没有办法在 PHP 项目之外触发 Laravel Scout 更新(以便在 Algolia 中也更新该行)?

我认为唯一的选择是使用 Laravel api 来处理 python 脚本和数据库之间的更改,以便只有 Laravel 可以直接与数据库通信。

但是,如果有一种方法可以在不使用 Laravel 的情况下添加侦听器或其他任何方法,我真的更喜欢,因为 python 脚本真的很快。

【问题讨论】:

    标签: laravel algolia laravel-scout


    【解决方案1】:

    如果您想重新索引所有内容,这似乎是您的最佳方式,我会执行 php path/to/artisan scout:import "App\Model" 通过 Python。

    如果你想更新每个模型,因为你只会编辑一个非常有限的数字,就像 Giorgi 说的,我会使用 Algolia Python 客户端,直接调用 Algolia 的 API。它应该很容易写。 https://github.com/algolia/algoliasearch-client-python

    【讨论】:

      【解决方案2】:

      有两种方法:

      1)。 您可以使用 Laravel API 将 Algolia 条目更新到数据库中。

      2)。也许你可以使用 Algolia Python 库。

      我建议你使用 Laravel API。您可以简单地从 Python 脚本调用 API URL。 Laravel 控制器 API 需要编写清晰的 PHP 代码,因为 python 速度快,需要与 api 快速通信。


      另外:您可以简单地使用名为 flask 的 Python 模块连接到您的 laravel 数据库并在数据库中进行您想要的更改。 (每个数据库都可以通过不同的编程语言进行管理,例如 PHP、Ruby on Rails、Python 等)

      只有 laravel 不能与你的数据库通信,它也可以从 Python 中完成(但当然主要也可以从 laravel 中完成)。

      【讨论】:

      • 您好,感谢您抽出宝贵时间回答我的问题,但它并没有真正回答我的问题。问题是当我使用某种 Laravel 事件侦听器或类似的东西直接对 mysql 数据库进行更改时,我想更新 Algolia 条目
      • 有两种方法:1)。您可以使用 Laravel API 将 Algolia 条目更新到数据库中。 2)。也许您可以使用 Algolia Python 库。我建议你使用 Laravel API。您可以简单地从 Python 脚本调用 API URL。 Laravel 控制器 API 需要编写清晰的 PHP 代码,因为 python 速度很快,需要与 api 快速通信。
      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2018-10-26
      • 1970-01-01
      • 1970-01-01
      • 2021-08-24
      • 2021-09-19
      • 1970-01-01
      相关资源
      最近更新 更多