在 ElasticSearch 中保存用户搜索查询的最佳方式?

2024-01-14

我正在开发使用 ElasticSearch 和 SQL 数据库的应用程序。 那么,保存用户搜索查询并显示统计信息(例如最流行的请求是什么)的最佳方法是什么?最简单的方法就是保存在SQL数据库中并统计。但也许 ElasticSearch 中内置了一些技术?


您可以通过在 ES 集群中创建第二个索引来做到这一点。当用户通过您的应用程序提交搜索时,您需要执行两个步骤。

  1. 将搜索作为查询提交到 Elasticsearch 以获得正常的搜索行为。
  2. 使用用户提供的搜索词向集群提交索引请求。

通过已提交的所有搜索词的第二个索引,您可以做许多巧妙的事情。对于您的情况,您可以像 SQL 中一样拥有一个“计数”字段,随着越来越多的人搜索该术语,该字段会增加。另一个很好的用例是谷歌风格的推荐术语。您的 UI 可以在每次按键时提交包含输入文本的搜索请求,并使用之前搜索的术语的匹配项填充下拉列表。您甚至可以通过添加用户字段并过滤掉不是来自该特定用户的结果来对此进行个性化。

需要记住的是,ElasticSearch 既可以用作主数据存储,也可以用作辅助数据存储。我始终建议您只将愿意丢失的数据(例如搜索历史记录)保留为主要数据。将系统关键数据保存在更传统的数据存储中,例如 SQL,这样在出现问题时可以轻松备份和恢复!

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

在 ElasticSearch 中保存用户搜索查询的最佳方式? 的相关文章

  • MySQL如何在没有过程/函数的情况下执行命令块

    我尝试在 MySQL Workbench 上运行一段 SQL 命令 就像在 SQL Server 上一样 但它告诉我 声明在此位置无效 我在网上看到了各种这样的例子 我真的不明白为什么会出现这个错误 一些提示 代码 其中 SQL Serve
  • 如何设置 Hibernate 读取/写入不同的数据源?

    使用 Spring 和 Hibernate 我想写入一个 MySQL 主数据库 并从基于云的 Java Web 应用程序中的另一个复制从属数据库中读取数据 我找不到对应用程序代码透明的解决方案 我真的不想更改我的 DAO 来管理不同的 Se
  • 导入mysql数据库出错

    我导出我的数据库并导出到另一台计算机使用 phpmyadmin 但它错误 静态分析 分析过程中发现2处错误 意想不到的角色 靠近位置 53 的 无法识别的语句类型 位置 1 的 div 附近 SQL查询 div class error h1
  • PhpMyAdmin 导出不包括 mysqldump 中的主键

    用PhpMyAdmin导出同一个表的结构 DROP TABLE IF EXISTS test apprentis CREATE TABLE IF NOT EXISTS test apprentis a id smallint 10 NOT
  • Laravel 4 - JOIN - 相同的列名

    我目前使用此代码从数据库中检索所需的数据 query DB table packages gt join assigned packages function join use id join gt on packages id assig
  • MySQL 存储过程、Pandas 和“执行多个语句时使用 multi=True”

    注意 正如下面 MaxU 所建议的 该问题特定于 mysql connector 如果您使用 pymysql 则不会出现该问题 希望这可以帮其他人省去一些麻烦 使用Python Pandas 和mySQL 根本无法让存储过程返回结果 更不用
  • 将歌词存储在 MySQL 数据库中

    我想知道在 mysql 数据库中存储音乐 歌词 的最佳方式是什么 以及用于此目的的设置是什么 另外 我想要表格来存储断线 我正在考虑使用 指示新行并使用 php 替换字符串 我不知道从哪里开始 或者使用什么参数 varchar int 我知
  • 新分配的序列不起作用

    在 PostgreSQL 中 我创建了一个新表并为其分配了一个新序列id柱子 如果我从 PostgreSQL 控制台插入记录 它可以工作 但是当我尝试从 Rails 导入记录时 它会引发异常 无法找到关联的序列 这是表格 d user me
  • 在云模式下设置 Apache Solr

    我必须执行以下操作 我必须在 2 个服务器 节点上部署 Solr 在另一台服务器上部署 Zookeeper 将自定义配置上传到 Zookeeper 创建具有 2 个分片和 2 个副本的自定义集合 Solr 7 4 0 和 Zookeeper
  • 使用 mariaDB 将 sql 转储文件安装到 docker 容器

    我刚刚学习 docker 的基础知识 但一直停留在从本地系统导入 SQl 文件上 我使用的是 Windows 10 并允许我的 docker 容器访问我的共享驱动器 我有一个位于 D 上的 SQL 文件 我想导入到从 docker hub
  • 如何使用默认约束为mysql中的列创建随机数?

    DEFAULT 约束在接受字符串或当前日期值方面没有问题 我需要的是一个约束 每次创建实体时都会创建一个随机的 4 位数字 我尝试了以下代码 但它返回语法错误 ALTER TABLE client number ADD 代码 INT 4 D
  • 关于mysql建表的几个问题

    CREATE TABLE favorite food person id SMALLINT UNSIGNED food VARCHAR 20 CONSTRAINT pk favorite food PRIMARY KEY person id
  • MySQL - 通过部分单词匹配和相关性评分进行高效搜索(全文)

    如何进行 MySQL 搜索 既匹配部分单词 又提供准确的相关性排序 SELECT name MATCH name AGAINST math IN BOOLEAN MODE AS relevance FROM subjects WHERE M
  • lucene 3.5中分组和facet有什么区别

    我在lucene 3 5 contrib文件夹中发现了两个插件 一个是分组 另一个是facet 在我的选择中 它们都用于将我的文档分为不同的类别 为什么 lucene 现在有两个插件呢 它们是两个不同的 lucene 特性 Grouping
  • 在 Docker 中更改 Ubuntu 语言环境

    因此 我正在 pt BR 中使用 Ubuntu 和 Postgresql 设置 docker 映像 我想知道如何通过命令行更改默认区域设置而不重新启动系统 这在 Docker 构建中是不可能的 我设法在 Debian 中通过更改 LANG
  • 如何在 BigQuery/SQL 中将行转置为包含大量数据的列?

    我在将 BigQuery 中的大量数据表 15 亿行 从行转置为列时遇到问题 我可以弄清楚如何在硬编码时使用少量数据来完成此操作 但是对于如此大量的数据 该表的快照如下所示 CustomerID Feature Value 1 A123 3
  • 连接到 Elasticsearch Heroku 数据库

    我已经在 Heroku 上使用 Bonsai elasticsearch 插件设置了一个入门帐户 我正在尝试通过 Java 应用程序连接到它 但似乎无法通过 Transport Client 或 Elasticsearch 文档页面上解释的
  • Airflow log_id 格式错误

    我正在使用 Airflow v2 2 3 和apache airflow providers elasticsearch 2 1 0 在 Kubernetes 中运行 我们的日志会自动发送到 Elasticsearch v7 6 2 我在
  • 如何优化这个查询(涉及4毫米表)

    我正在使用如下所示的遗留数据库架构 product table表有字段 uid 整数 主键 name varchar 50 category表有字段 uid 整数 主键 name varchar 50 好吧 现在product table与
  • PHP - While/Else 错误? [关闭]

    这个问题不太可能对任何未来的访客有帮助 它只与一个较小的地理区域 一个特定的时间点或一个非常狭窄的情况相关 通常不适用于全世界的互联网受众 为了帮助使这个问题更广泛地适用 访问帮助中心 help reopen questions 我有以下

随机推荐

  • Math.Net 解值为 0 的线性方程组

    我试图在 Math Net 中求解矩阵 当矩阵的实际解之一为 0 时 但我得到 NaN 作为结果 这是一个示例矩阵 为简单起见已对其进行了简化 1 0 1 10000 0 1 1 1000 0 0 0 0 代码示例 public void
  • 重构 Form_for 创建多态关联中注释的方法

    我正在研究我的第一个多态关联关系 但在重构我的 form for 创建评论时遇到了麻烦 我尝试浏览多态协会 RailsCastshttp railscasts com episodes 154 polymorphic association
  • .htaccess,将404错误重写到其他域

    如何将所有 404 错误重定向到另一个域 我找到了 Error 404 http example com error html 但是我需要 if Error 404 http example com 1 我试过了 RewriteEngine
  • python 中的随机()

    在Python中的函数random 均匀地生成半开范围 0 0 1 0 内的随机浮点数 原则上它能生成 0 0 即零 和 1 0 即统一 吗 实际应用中是什么样的场景呢 0 0可以生成 1 0不能 因为它不在范围内 因此 相对于 生成概率0
  • 在 Swift 中将图像(或视频)发布到服务器

    您好 我正在使用 NSURLSession 快速将 json 数据发布到服务器 如下所示 var request NSMutableURLRequest URL NSURL string http mypath com var sessio
  • 2016 年最佳密码存储算法

    实际上我读了很多与算法相关的帖子 比如md5 sha1等等 但我仍然不确定哪一种是当今最安全且最好使用的 我是网络开发的初学者 我要求世界上所有最好的程序员来教我并向我展示 我希望你们能给我选择和使用它的例子 谢谢 顺便 2016 年如何安
  • Django、apache、mod_wsgi - 错误:脚本标头过早结束

    Apache 以调试模式登录 Tue Dec 21 11 36 33 2010 info client 1 53 149 114 mod wsgi pid 24831 process mysite application mysite co
  • 按键对 React Native 部分列表进行排序和分组

    我有一个部分列表 其中填充了来自 firebase 的数据 该列表显示按日期划分的事件信息 当前月份显示为THIS MONTH和其他日期使用其速记值JAN FEB etc 我得到的数据很好并且可以很好地显示它 但我不知道如何按日期对数据数组
  • 使用具有多个条件的 If 语句

    我编写了以下代码 基本上应该相应地为一些框着色 每当我运行此代码时 它都会运行第一种情况 即即使需要选择其他情况也是如此 这是代码 Sub Macro quaterly If Sheet2 Range B6 Value 1 Or 2 Or
  • 如何选择每组的前N行

    我的三重存储中有一些数据 例如 Subject Predicate Object
  • ASP.NET HttpContext 缓存在插入后立即删除

    我有一个 ASP NET 4 Web 服务 它有一个ImportModule行动在一个ModuleController控制器 这就是它的工作原理 用户将模块上传为 CSV 文件 正在使用该文件读取HttpPostedFileBase Inp
  • PHP 致命错误:在非对象上调用成员函数bind_param() [重复]

    这个问题在这里已经有答案了 我有以下代码 statement mysqli gt prepare INSERT INTO paypal transactions txn id payer email mc gross mc currency
  • Go的interface{}和C中的void*一样吗?

    由于类型变量interface 可以有任何值 这是否意味着它本质上是一个像 C 中的 void 一样的通用指针 而C的void 指针和 Go 的interface 变量共享可以存储任意类型的属性 但有一个很大的区别 Go 接口变量还存储它们
  • 可以用jade/pug 编写PHP 吗?

    是否可以 如果是这样 怎么办 如果不是 如果我需要在文档中编写 PHP 我是否必须放弃 pug 环顾四周后 我没有找到任何人解决了这个问题 您可以将 PHP 嵌入到 Pug 模板中 就像您希望通过相对不受干扰的任何文字纯文本一样 有文档中涵
  • Xcode 11 升级 |找不到 iPhone X 模拟器 | XRPackageModel 9.0.omo

    自从升级后还有其他人得到这个Xcode 10 3 https developer apple com documentation xcode release notes xcode 10 3 release notes to Xcode 1
  • WPF 拖动滚动功能无法正常工作

    我想在我的应用程序中实现拖动滚动功能 但在路上遇到了问题 有谁能够帮助我 我有一个 ScrollViewer 里面有一个 ItemsControl 在 ItemsTemplate 中我有一个 UserControl 我想将该 UserCon
  • UserWarning:X 没有有效的特征名称,但 LogisticRegression 已安装了特征名称

    我在 Flask 中编写了一个程序来获取用户的输入 以输入长度和宽度来预测鱼的类型 但是当我输入时 它会显示一个错误 称为 UserWarning X does not have valid feature names but Logist
  • 如何使用 6*k +- 1 规则生成素数

    我们知道 3 以上的所有素数都可以使用以下方法生成 6 k 1 6 k 1 然而 从上述公式生成的所有数字都不是素数 For Example 6 6 1 35 which is clearly divisible by 5 为了消除这种情况
  • 获取 SQL 中另一列的每个值的最常见值

    我有一个这样的表 Column Type Modifiers country text food id int eaten date 对于每个国家 我想要获得最常吃的食物 我能想到的最好的 我正在使用 postgres 是 CREATE T
  • 在 ElasticSearch 中保存用户搜索查询的最佳方式?

    我正在开发使用 ElasticSearch 和 SQL 数据库的应用程序 那么 保存用户搜索查询并显示统计信息 例如最流行的请求是什么 的最佳方法是什么 最简单的方法就是保存在SQL数据库中并统计 但也许 ElasticSearch 中内置