laravel scout + elasticsearch-rtf 索引无效问题

大概3年前吧,用过一次这个组合做全文搜索,一路顺着教程写下来也没啥。最近需要做全文搜索,卡主了,发现了一些问题,去网上找答案,发现大部分文档都是还是以前的老写法,不适用了

问题:照着网上文档一步一步坐下来,老是提示_type不对,很是郁闷,后来发现问题出在这里
老文档说: searchableAs() 这方法返回是es的type,但是最新的tamayo/laravel-scout-elastic 这个方法 返回的应该是es的index(索引),就是你 config/scout.php配置里的“ELASTICSEARCH_INDEX”对应的值。那type是变成什么了呢?我去拔了下源码(vendor\Tamayo\LaravelScoutElastic\Engines\ElasticsearchEngine.php)里边的 update delete方法 里是这么写的
“’_type’ => get_class($model),”
也就是说type是你的类名了,无需你额外指定了

到这里也就清楚了
searchableAs()要返回es的index,eg:ykt
model名(带着命名空间)就是es的type,eg:App\Models\Article\ArticleInfo
getScoutKey()返回的是es的id,默认就是id

本作品采用《CC 协议》,转载必须注明作者和本文链接
Complicated
《L04 微信小程序从零到发布》
从小程序个人账户申请开始,带你一步步进行开发一个微信小程序,直到提交微信控制台上线发布。
《G01 Go 实战入门》
从零开始带你一步步开发一个 Go 博客项目,让你在最短的时间内学会使用 Go 进行编码。项目结构很大程度上参考了 Laravel。
讨论数量: 0
(= ̄ω ̄=)··· 暂无内容!

讨论应以学习和精进为目的。请勿发布不友善或者负能量的内容,与人为善,比聪明更重要!