问题标签 [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.
laravel - 使用 insert() 并进行批量插入似乎不会触发带有侦察员的插入到 Algolia
我正在 Laravel 中进行批量插入,例如
这将执行批量插入,一个查询,但仍一次插入许多行。
问题是当我使用insert()
行时不会插入到 Algolia。那么我怎样才能对 Algolia 进行批量插入呢?
我不想遍历我的行并一次插入,因为这将花费额外的请求
php - 如何搜索是否存在关系?
我使用 Algolia 作为我的搜索驱动程序,我只是试图根据他们是否有关系的事实来搜索我的用户记录。
我使用 Laravel Scount 并想搜索所有拥有餐厅的用户然后列出它们,但我收到的错误是
带有消息“调用未定义的方法 Illuminate\Database\Query\Builder::search()”的 BadMethodCallException
如何根据关系进行搜索?
php - Elasticsearch 与其他类型的现有映射冲突
我是 Elasticsearch 的新手,我正在使用Elasticsearch Scout Driver在我的 Laravel 项目中实现它,但是在索引中插入模型对象时出现错误。
该模型是Post,制作如下:
在模型类中,我声明了映射选项,我报告了我的映射选项:
每次我打电话$post->searchable();
将我的模型放入我的 Elasticsearch 索引时,我都会遇到这个错误:
我猜问题是财产
的null
价值。我需要,因为我使用Laravel进行管理:任何其他值都会导致 Laravel 框架的软删除(查询时不检索元素)。deleted_at
deleted_at == null
soft deletion
正如你所看到的,我试图把,ignore_malformed => true
但它对我不起作用。我试图添加另一个选项null_value => NULL
但没有成功。
我哪里错了?
如何在我的 Elasticsearch 索引中插入帖子,并将deleted_at
属性设置为null
OR设置为 date with format yyyy-MM-dd HH:mm:ss
?
谢谢
PS:我使用的是 Elasticsearch 版本 6.1.2。
laravel - 当 objectId 不是主键时,Scout Algolia 不会删除
当我将模型导入 Algolia 时,我将 ObjectId 更改为另一个字段的值。但似乎当我在我的对象上调用 delete() 时,它并没有从 Algolia 中删除它。为了更清楚,这里有一个例子:
用户{ id,电子邮件名称}
Algolia 用户 {objectId :email,name}
有没有办法解决这个问题?scout 是否有类似于 toSearchableArray 的覆盖原始删除功能的功能?
编辑:我已在Scout GitHub 上为任何感兴趣的人请求此功能
laravel - 如果查询为空白,如何将 Algolia 设置为不返回任何结果 Laravel & Vue Instant Search
嘿,我在我的新 Laravel 项目中使用了 Algolia,但我了解到 Algolia 会显示我拥有的所有数据“Titel - description”。
我想要的只是在搜索框中输入内容时显示结果。
我的 HTML 代码
后模型
php - Algolia:如何使用以下数据创建细化列表
我正在尝试使用以下产品数据创建一个细化列表:
- 表 1:产品
- 表 2:产品详细信息。
使用 Table Product,可以完美地检索所有所需的数据,创建一个非常类似于 algolia 电子商务百思买示例的 json 文件。
另一方面,表 2 -> 产品详细信息具有以下结构:
如您所见,1 个单品可以显示 3 个以上的 facet 选项。
- 操作系统
- 语音激活
- 处理器速度
但我不知道如何构造该数据以创建这样的细化列表:
例如,我如何创建 json 以允许人们使用操作系统进行优化。
我试过类似的东西:
但在这个例子中我收到错误:
非法偏移类型
任何例子表示赞赏。我将 Laravel Scout 与 Algolia 一起使用。
基于用户@daniel-h 方法,我更新了我的代码。
目前我正在接收 array_merge(): Argument #1 is not an array
更新:
解决方案是:
laravel - Laravel scout Algolia 无论如何从搜索索引中删除一个项目而不从本地数据库中删除它
我知道我可以通过以下方式从搜索索引中删除一个项目:
或者
但我只想将其从搜索索引/Algolia 中删除并仍将其保留在我的本地数据库中,这可能吗?
laravel - laravel scout 什么时候触发 shouldBeSearchable
假设我有一个shouldBeSearchable()
这样的集合:
默认情况下,在我的应用程序中,新创建的帖子将is_active设置为1,因此它将被添加到我的搜索索引中。
但是,如果我现在更新同一个帖子并将is_active 设置为0,它会自动从我的搜索索引中删除吗?
laravel - laravel scout 在更新时临时禁用 toSearchableArray
是否可以toSearchableArray
在更新记录时禁用,或者有没有办法只更新搜索索引中记录中的特定字段?
例如:
现在唯一的问题是每次我更新一条记录时,它也会重置它的 Uploaded_at 时间戳并重新加载关系,这是我不需要的另一个查询,因为它在我创建项目时已经设置了它。
那么有什么办法可以暂时禁用toSearchableArray
吗?我只需要更新索引行中的几个字段,因此无需重新运行 toSearchableArray 中的所有内容
像下面一样只更新标题,然后在我的 algolia 索引中更新标题,而无需再次重置uploaded_at
或加载category
关系
laravel - 使用 InstantSearch 显示所有方面
因此,我尝试将默认设置更改为从 Algolia 获取构面,即 10。我正在使用Laravel
withLaravel-Scout
和Vue.js
with InstantSearch.js
。由于 Vue 为我提供了显示我使用的方面的模板:
这样我只能得到 10 个。我尝试使用Laravel-scout-settings
. 下载设置并尝试添加maxFacetsHits : 30
,当我将它们推回去时,没有发生任何变化。是否可以使用他们的模板包装器实际编辑这些设置,或者我将不得不使用InstantSearch
js 方式通过 js 文件添加所有小部件和设置。
感谢您的时间。
编辑:总之我的问题是如何显示更多的方面?