laravel scout 如何定义多个索引?

比如说在laravel项目中有一个表是product,而另一个是article,我想要在项目中都用上全文检索,但是scout只允许定义一个index,否则无法同步

我在网上看了很多案例都是浅尝即止的,希望大家可以提供思路

阅读 2.9k
3 个回答
新手上路,请多包涵

我也遇到同样的问题, 你解决么了?

新手上路,请多包涵

要实现多模型查询,可以在模型初始化时改变配置的索引。
比如使用 ElasticSearch 驱动时,驱动包默认是取 scout.elasticsearch.index 的配置值作为索引,所以在模型的 __construct 方法中改变这个配置值,就可以实现多模型查询

在要调用的Model里重写searchAble中的 searchableUsing 方法,可以自定义的index更新掉就可以了.

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题