mysql - 多用途搜索如何与 Searchkick 配合使用?

标签 mysql ruby-on-rails ruby elasticsearch nginx

我希望了解多用途搜索的工作原理,

例如,我要搜索手机,左侧菜单返回电子产品相关类别

如果我决定在同一搜索中找到鞋子,左侧菜单返回与衣服相关的类别

像亚马逊或沃尔玛一样,有人知道在同一个搜索中这种部分的转换是如何工作的吗?

最佳答案

听起来您希望 UI 对用户做出的选择使用react,一个选择导致另一个选择。

对此的一个常见解决方案是在您的应用程序中使用 Ruby、PHP 或您在利用 jQuery 的 AJAX 功能时使用的任何内容编写一些 JSON 端点。

您可以编写一些包含 jQuery 库的 JavaScript 来监视用户的操作,并调用后端来了解 UI 接下来应该执行的操作。

请注意,您可以使用普通的旧 JavaScript 来完成此操作,但人们倾向于使用 jQuery 来完成较小的一次性任务。或者,您可以通过将服务器端代码转换为 JSON API 来将后端与前端完全解耦,并使用 React 或 Angular2 等前端框架来使用后端。

听起来你最好的选择是尝试一下 jQuery 的 AJAX 东西。

http://api.jquery.com/jquery.ajax/

如果您使用的是 Ruby:http://ruby-doc.org/stdlib-2.0.0/libdoc/json/rdoc/JSON.html

编辑以添加更多信息

在回答这个问题之前,请允许我指出 jQuery 是一个用 JavaScript 编写的 JavaScript 库。它只是让 JavaScript 更容易处理,特别是当您想要执行一些像这样的 API 调用时。

JavaScript 可以监视用户在您的应用程序中执行的任何操作并使用react。如果你想在他们点击按钮时打招呼,那么你会这样做

<button id="the-button">Say Hi</button>

<script>
$( "#the-button" ).click(function() {
  alert( "Hi!" );
});
</script>

AJAX 可以像“点击”功能一样使用。

如果您想对用户在搜索字段中输入的内容使用react,您可以使用 .change 方法来触发 AJAX 调用,就像 .click 一样> 方法说 alert(hi): https://api.jquery.com/change/

关于mysql - 多用途搜索如何与 Searchkick 配合使用?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44465759/

相关文章:

ruby-on-rails - request.location ruby​​ 地理编码器中的错误

php - 从数据库中获取答案

PHP 限制访问,除非登录

mysql - SELECT JOIN WHERE 查询的最佳实践

具有可变列数的数据集的 MySQL 数据库设计

ruby-on-rails - rails : how to make url with multi slash in Grape

ruby-on-rails - 为什么当我运行 bundle 时 Rails 会安装较新的版本?

ruby - 按位与作为模数替代

ruby-on-rails - 验证 ActionCable 连接

ruby-on-rails - 如何比较 ruby​​ 应用程序中的任何文件