问题标签 [laravel-scout]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
274 浏览

laravel-5.3 - Laravel Scout Where 子句没有按预期工作

我正在使用 Laravel Scout 和 TNTSearch 实现全文搜索。一切都很好,因为我的 where 子句在搜索结果中无效。

上面的代码应该返回 school_id 为 4 的广告的搜索结果,但事实并非如此。相反,它会返回匹配搜索查询的广告的结果,而不考虑 where 子句。

是我错过了什么还是什么?

0 投票
2 回答
1545 浏览

laravel - Laravel Scout and TNTSearch search withTrashed

I've configured Laravel Scout and can use ::search() on my models. The same models also use SoftDeletes. How can I combine the ::search() with withTrashed()?

The code below does not work.

The below does work but does not include the trashed items.

Update 1 I found in the scout/ModelObserver that deleted items are made unsearchable. Which is a bummer; I wanted my users to be able to search through their trash.

Update 2 I tried using ::withoutSyncingToSearch, as suggested by @camelCase, which I had high hopes for, but this also didn't work.

This caused an undefined offset when searching for a deleted item. By the way, I'm using the TNTSearch driver for Laravel Scout. I don't know if this is an error with TNTSearch or with Laravel Scout.

0 投票
1 回答
392 浏览

laravel - 带有 AWS ElasticSearch 的 Laravel Scout 添加了基本身份验证标头

所以我在 5.3 应用程序中使用 Laravel Scout 连接到 AWS ElasticSearch。一切都已连接,除非当我尝试连接到 ElasticSearch 时,即使我指定了 IAM 凭证,也会添加额外的 Basic Auth 标头。具体来说,错误是:[Elasticsearch\Common\Exceptions\Forbidden403Exception]
{"message":"'NzA3OTQxMjg4NDc4OkFLSUFJV1gzNUhDMzIyTVczUVpB' not a valid key=value pair (missing equal-sign) in Authorization header: 'Basic NzA3OTQxMjg4NDc4OkFLSUFJV1gzNUhDMzIyTVczUVpB'."}

附带说明一下,我不得不降级到 Laravel Scout 1.1.12,因为 2.0 版找不到弹性搜索驱动程序,看来 Taylor 正在处理这个问题。但是,我的 elasticsearch/elasticsearch 包是 ^5.0。

0 投票
3 回答
3821 浏览

elasticsearch - 带有弹性搜索的 Laravel Scout 不起作用

我试过了

  • 将弹性搜索与 Laravel scout 与包一起使用

  • 在 localhost:9200 中运行 Elasticsearch 服务器并创建索引并提供必要的配置,

  • 为模型添加了可搜索的特征,

  • 并将数据导入索引

但是当我进行搜索时,它返回一个空数组

当我卷曲时,它也会显示,

当我在 ES 中添加没有索引的记录时,模型会抛出类似index not found. 但是在添加数据和所有之后,它似乎是空的。我错过了什么吗?

与 algolia 完全一样。

0 投票
4 回答
1734 浏览

php - 如果环境不是生产,你将如何跳过 Laravel Scout?

我有一个正在用 Laravel 编写的应用程序。我对这个框架还很陌生,而且大部分内容都不了解。我使用 Algolia 作为 Laravel 的 Scout 的搜索引擎。在你添加的模型use Searchable中,一个特征,并且记录会自动传递给 Algolia,这很酷。我试图发表一个简单的声明if (App::environment('local'))" exit scout,这样我们就不会将我们的开发数据发送到 Algolia。如果我用完 Algolia 的 10,000 条记录的黑客级别,Scout 也会抛出异常。

0 投票
3 回答
6062 浏览

laravel - 使用参数执行 Artisan 命令

目前我面临以下问题:

我想在我的数据库更新后自动更新我的搜索索引。我在 AppServiceProvider 的表上注册了一个 saved() 监听器:

在闭包中,我尝试调用 Artisan 命令 (scout:import),将 App\\Customer 传递给命令。我试过了

我没有找到将所需参数放在官方文档中的位置的信息。

我确信它很简单(就像 laravel 中的所有东西一样),但我无法完成它......

0 投票
1 回答
1268 浏览

laravel-5.3 - Laravel Scout & Algolia - 从 TNTSearch 迁移到 Algolia 后无法在登台服务器上创建索引

这很奇怪。我已经在本地服务器上成功创建了一个索引,它出现在 Algolia dashbord 中。

但是,当我php artisan scout:import 'App\MyModel'在登台服务器上运行时,我得到:

但该索引未显示在 Algolia 仪表板中。

我比较了我的.env文件,这些字段在我的两个应用程序上都是相同的:

我的config/scout.php

这是我的config/algolia.php

任何帮助表示赞赏。谢谢!

更新

当我运行时,文件夹my_models.index中的索引文件似乎得到了更新storagephp artisan scout:import 'App\MyModel'

我相信这是在 Algolia 之前使用 TNTSearch 的遗留问题,但我无法弄清楚为什么我的应用程序在我的登台服务器上使用 TNTSearch 而不是 Algolia 应用程序。

我得出这个结论是因为当我运行php artisan scout:import 'App\MyModel'这个索引文件时,我的登台服务器上而不是我的本地机器上得到了更新。

更新#2

ssh 进入服务器,如果php artisan tinkeralgolia运行env('SCOUT_DRIVER')或者config('scout.driver').

更新#3

尝试了php artisan config:clear,但在我的模型上运行后cache:clear我仍然得到新my_model.index文件。scout:import即使在我从.env,composer.json和中删除了所有提及 TNT 之后AppServiceProvider.php

0 投票
1 回答
1628 浏览

php - Laravel Scout 没有找到任何记录

我正在使用搜索栏表单,它在 +-175.000 模型的数据库中进行搜索。我已经根据文档安装了 Scout,并使用scout:import.

现在,我在控制器中设置了一个函数来进行搜索并返回所有记录,但无论我搜索什么,记录总是空的。

网页.php:

ActController@searchAct:

表格:

据我所知,这应该可行,但dd($actes)说该集合是空的。我已经use Searchable;在我的模型中包含了 Entrait。Scout index the records fine: 所有[App\Act]记录都已导入。

0 投票
1 回答
111 浏览

php - Laravel 5 侦察兵

我还在学习 php 和 Laravel 框架。我无法让这段代码在我的控制器中工作,而是将它们放在我的视图中,但这不是我想要的。我想要控制器中的所有逻辑,但我无法弄清楚如何做到这一点。

0 投票
1 回答
762 浏览

laravel - Laravel Scout 与 TNTSearch 驱动过滤 where 子句

我尝试where使用 TNTSearch 在查询中使用子句获取搜索查询的结果,但它不起作用。查询没有得到where子句。

控制器

有人对如何获取过滤器查询有任何想法吗?