我正在尝试将 LaravelScout与 docker 一起使用,我按照文档Laravel Scout Docs
进行了安装所需的所有步骤,一切都按预期启动并运行。但每当我尝试搜索数据时,我都会收到此错误cURL error 7: Failed to connect to 127.0.0.1 port 7720: Connection refused。我正在将请求发送insomnia到laravel路由网络。
curl -kvs --http2 --request GET 'http://localhost:7720/indexes'它工作正常并返回Connected to localhost (127.0.0.1) port 7720 (#0),但每当我发送时,insomnia我都会收到错误重现错误的步骤
Event尝试通过关键字搜索模型PENDING。
\App\Models\Event::search('PENDING')->get()
事件模型类
<?php
namespace App\Models;
use Illuminate\Support\Str;
use Laravel\Scout\Searchable;
use Database\Factories\EventFactory;
use Illuminate\Database\Eloquent\Model;
use Illuminate\Database\Eloquent\Factories\HasFactory;
class Event extends Model
{
use HasFactory;
use Searchable; …Run Code Online (Sandbox Code Playgroud) 我已经安装并配置了 meilisearch + Laravel Scout 包。
我的型号:
class Post extends Model
{
use Searchable;
}
Run Code Online (Sandbox Code Playgroud)
当我运行时php artisan scout:import 'App\Models\Post'它返回:
Imported [App\Models\Post] models up to ID: 5
All [App\Models\Post] records have been imported.
Run Code Online (Sandbox Code Playgroud)
但当我检查索引时,它是空的。为什么?
正在创建索引,但未导入数据。
meilisearch 和 Scout 包的相同配置适用于其他一些型号。
我不是指过滤器,而是指设置: https: //docs.meilisearch.com/reference/api/settings.html
假设我想更改特定型号(甚至所有型号)的默认 Meilisearch“停用词”设置
$client->index('movies')->updateStopWords(['the', 'of', 'to']);
Run Code Online (Sandbox Code Playgroud)
我怎么能这样做呢?
当我启动运行 docker 时,meilisearch 容器未运行并出现此错误:
2023-04-10 17:23:44 错误:您的数据库版本 (1.0.2) 与当前引擎版本 (1.1.0) 不兼容。2023-04-10 17:23:44 要在Meilisearch版本之间迁移数据,请按照我们的指南https://docs.meilisearch.com/learn/update_and_migration/updating.html
当我昨天运行我的项目时,一切都很好,但今天我无法开始运行 meilisearch。
我正在尝试在我的 Laravel 应用程序上实现 Meilisearch。
由于某种原因,我无法使用、、和运算符过滤decimal字段(price等mrp),如Meilisearch 文档中所述。>>=<<=
Product::search($request->search, function ($meilisearch, $query, $options) {
$options['filter'] = 'price >= 1'; // This is the line that causes the issue.
return $meilisearch->search($query, $options);
})->raw();
Run Code Online (Sandbox Code Playgroud)
如果我执行类似上面的操作,我会得到 0 次点击,尽管有很多记录满足该条件 ( price >= 1):
我不确定我做错了什么。
另外,我想学习,如何应用多个 Fitters。就像在实际场景中一样。我们需要按最低和最高价格过滤产品。我意识到 Laravel scout 不允许我们使用where('price', '>=', $request->min_price)像 eloquent 这样的高级 where 子句 ( )
我想使用Scout和Meilisearch来做这样的事情 。
$query = Product::search($request->search);
if ($request->min_price) {
$query->where('price', '>=', $request->min_price); …Run Code Online (Sandbox Code Playgroud) 我正在尝试使用Laravel scout 的官方包将MeiliSearch集成到我的 Laravel 项目中。我使用Laradock作为开发环境,它预装了 Meilisearch docker 镜像。
我找不到任何解释如何实现此目的的内容,这就是迷失的地方,每当我尝试从 Laradock 工作区容器访问 MeiliSearch 主机 -> http://localhost:7700 时,它都会返回Connection精神被拒绝,但在尝试时它工作正常从我的电脑 bash 访问它
searchableAttributes, filterableAttributes, faceting. 我读过这些文件,但有点困惑。
请提供一些有关以下方面的见解: